YES 4.898 H-Termination proof of /home/matraf/haskell/eval_FullyBlown_Fast/List.hs
H-Termination of the given Haskell-Program with start terms could successfully be proven:



HASKELL
  ↳ IFR

mainModule List
  ((union :: (Eq b, Eq a) => [Either a b ->  [Either a b ->  [Either a b]) :: (Eq b, Eq a) => [Either a b ->  [Either a b ->  [Either a b])

module List where
  import qualified Maybe
import qualified Prelude

  deleteBy :: (a  ->  a  ->  Bool ->  a  ->  [a ->  [a]
deleteBy _ _ [] []
deleteBy eq x (y : ys if x `eq` y then ys else y : deleteBy eq x ys

  elem_by :: (a  ->  a  ->  Bool ->  a  ->  [a ->  Bool
elem_by _ _ [] False
elem_by eq y (x : xsx `eq` y || elem_by eq y xs

  nubBy :: (a  ->  a  ->  Bool ->  [a ->  [a]
nubBy eq l 
nubBy' l [] where 
nubBy' [] _ []
nubBy' (y : ysxs 
 | elem_by eq y xs = 
nubBy' ys xs
 | otherwise = 
y : nubBy' ys (y : xs)

  union :: Eq a => [a ->  [a ->  [a]
union unionBy (==)

  unionBy :: (a  ->  a  ->  Bool ->  [a ->  [a ->  [a]
unionBy eq xs ys xs ++ foldl (flip (deleteBy eq)) (nubBy eq ys) xs


module Maybe where
  import qualified List
import qualified Prelude



If Reductions:
The following If expression
if eq x y then ys else y : deleteBy eq x ys

is transformed to
deleteBy0 ys y eq x True = ys
deleteBy0 ys y eq x False = y : deleteBy eq x ys



↳ HASKELL
  ↳ IFR
HASKELL
      ↳ BR

mainModule List
  ((union :: (Eq a, Eq b) => [Either b a ->  [Either b a ->  [Either b a]) :: (Eq b, Eq a) => [Either b a ->  [Either b a ->  [Either b a])

module List where
  import qualified Maybe
import qualified Prelude

  deleteBy :: (a  ->  a  ->  Bool ->  a  ->  [a ->  [a]
deleteBy _ _ [] []
deleteBy eq x (y : ysdeleteBy0 ys y eq x (x `eq` y)

  
deleteBy0 ys y eq x True ys
deleteBy0 ys y eq x False y : deleteBy eq x ys

  elem_by :: (a  ->  a  ->  Bool ->  a  ->  [a ->  Bool
elem_by _ _ [] False
elem_by eq y (x : xsx `eq` y || elem_by eq y xs

  nubBy :: (a  ->  a  ->  Bool ->  [a ->  [a]
nubBy eq l 
nubBy' l [] where 
nubBy' [] _ []
nubBy' (y : ysxs 
 | elem_by eq y xs = 
nubBy' ys xs
 | otherwise = 
y : nubBy' ys (y : xs)

  union :: Eq a => [a ->  [a ->  [a]
union unionBy (==)

  unionBy :: (a  ->  a  ->  Bool ->  [a ->  [a ->  [a]
unionBy eq xs ys xs ++ foldl (flip (deleteBy eq)) (nubBy eq ys) xs


module Maybe where
  import qualified List
import qualified Prelude



Replaced joker patterns by fresh variables and removed binding patterns.

↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
HASKELL
          ↳ COR

mainModule List
  ((union :: (Eq b, Eq a) => [Either b a ->  [Either b a ->  [Either b a]) :: (Eq a, Eq b) => [Either b a ->  [Either b a ->  [Either b a])

module List where
  import qualified Maybe
import qualified Prelude

  deleteBy :: (a  ->  a  ->  Bool ->  a  ->  [a ->  [a]
deleteBy vw vx [] []
deleteBy eq x (y : ysdeleteBy0 ys y eq x (x `eq` y)

  
deleteBy0 ys y eq x True ys
deleteBy0 ys y eq x False y : deleteBy eq x ys

  elem_by :: (a  ->  a  ->  Bool ->  a  ->  [a ->  Bool
elem_by vz wu [] False
elem_by eq y (x : xsx `eq` y || elem_by eq y xs

  nubBy :: (a  ->  a  ->  Bool ->  [a ->  [a]
nubBy eq l 
nubBy' l [] where 
nubBy' [] vy []
nubBy' (y : ysxs 
 | elem_by eq y xs = 
nubBy' ys xs
 | otherwise = 
y : nubBy' ys (y : xs)

  union :: Eq a => [a ->  [a ->  [a]
union unionBy (==)

  unionBy :: (a  ->  a  ->  Bool ->  [a ->  [a ->  [a]
unionBy eq xs ys xs ++ foldl (flip (deleteBy eq)) (nubBy eq ys) xs


module Maybe where
  import qualified List
import qualified Prelude



Cond Reductions:
The following Function with conditions
nubBy' [] vy = []
nubBy' (y : ysxs
 | elem_by eq y xs
 = nubBy' ys xs
 | otherwise
 = y : nubBy' ys (y : xs)

is transformed to
nubBy' [] vy = nubBy'3 [] vy
nubBy' (y : ysxs = nubBy'2 (y : ysxs

nubBy'0 y ys xs True = y : nubBy' ys (y : xs)

nubBy'1 y ys xs True = nubBy' ys xs
nubBy'1 y ys xs False = nubBy'0 y ys xs otherwise

nubBy'2 (y : ysxs = nubBy'1 y ys xs (elem_by eq y xs)

nubBy'3 [] vy = []
nubBy'3 yx yy = nubBy'2 yx yy

The following Function with conditions
undefined 
 | False
 = undefined

is transformed to
undefined  = undefined1

undefined0 True = undefined

undefined1  = undefined0 False



↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
HASKELL
              ↳ LetRed

mainModule List
  ((union :: (Eq a, Eq b) => [Either b a ->  [Either b a ->  [Either b a]) :: (Eq b, Eq a) => [Either b a ->  [Either b a ->  [Either b a])

module List where
  import qualified Maybe
import qualified Prelude

  deleteBy :: (a  ->  a  ->  Bool ->  a  ->  [a ->  [a]
deleteBy vw vx [] []
deleteBy eq x (y : ysdeleteBy0 ys y eq x (x `eq` y)

  
deleteBy0 ys y eq x True ys
deleteBy0 ys y eq x False y : deleteBy eq x ys

  elem_by :: (a  ->  a  ->  Bool ->  a  ->  [a ->  Bool
elem_by vz wu [] False
elem_by eq y (x : xsx `eq` y || elem_by eq y xs

  nubBy :: (a  ->  a  ->  Bool ->  [a ->  [a]
nubBy eq l 
nubBy' l [] where 
nubBy' [] vy nubBy'3 [] vy
nubBy' (y : ysxs nubBy'2 (y : ys) xs
nubBy'0 y ys xs True y : nubBy' ys (y : xs)
nubBy'1 y ys xs True nubBy' ys xs
nubBy'1 y ys xs False nubBy'0 y ys xs otherwise
nubBy'2 (y : ysxs nubBy'1 y ys xs (elem_by eq y xs)
nubBy'3 [] vy []
nubBy'3 yx yy nubBy'2 yx yy

  union :: Eq a => [a ->  [a ->  [a]
union unionBy (==)

  unionBy :: (a  ->  a  ->  Bool ->  [a ->  [a ->  [a]
unionBy eq xs ys xs ++ foldl (flip (deleteBy eq)) (nubBy eq ys) xs


module Maybe where
  import qualified List
import qualified Prelude



Let/Where Reductions:
The bindings of the following Let/Where expression
nubBy' l []
where 
nubBy' [] vy = nubBy'3 [] vy
nubBy' (y : ysxs = nubBy'2 (y : ysxs
nubBy'0 y ys xs True = y : nubBy' ys (y : xs)
nubBy'1 y ys xs True = nubBy' ys xs
nubBy'1 y ys xs False = nubBy'0 y ys xs otherwise
nubBy'2 (y : ysxs = nubBy'1 y ys xs (elem_by eq y xs)
nubBy'3 [] vy = []
nubBy'3 yx yy = nubBy'2 yx yy

are unpacked to the following functions on top level
nubByNubBy'1 yz y ys xs True = nubByNubBy' yz ys xs
nubByNubBy'1 yz y ys xs False = nubByNubBy'0 yz y ys xs otherwise

nubByNubBy' yz [] vy = nubByNubBy'3 yz [] vy
nubByNubBy' yz (y : ysxs = nubByNubBy'2 yz (y : ysxs

nubByNubBy'0 yz y ys xs True = y : nubByNubBy' yz ys (y : xs)

nubByNubBy'2 yz (y : ysxs = nubByNubBy'1 yz y ys xs (elem_by yz y xs)

nubByNubBy'3 yz [] vy = []
nubByNubBy'3 yz yx yy = nubByNubBy'2 yz yx yy



↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
HASKELL
                  ↳ Narrow

mainModule List
  (union :: (Eq a, Eq b) => [Either a b ->  [Either a b ->  [Either a b])

module List where
  import qualified Maybe
import qualified Prelude

  deleteBy :: (a  ->  a  ->  Bool ->  a  ->  [a ->  [a]
deleteBy vw vx [] []
deleteBy eq x (y : ysdeleteBy0 ys y eq x (x `eq` y)

  
deleteBy0 ys y eq x True ys
deleteBy0 ys y eq x False y : deleteBy eq x ys

  elem_by :: (a  ->  a  ->  Bool ->  a  ->  [a ->  Bool
elem_by vz wu [] False
elem_by eq y (x : xsx `eq` y || elem_by eq y xs

  nubBy :: (a  ->  a  ->  Bool ->  [a ->  [a]
nubBy eq l nubByNubBy' eq l []

  
nubByNubBy' yz [] vy nubByNubBy'3 yz [] vy
nubByNubBy' yz (y : ysxs nubByNubBy'2 yz (y : ys) xs

  
nubByNubBy'0 yz y ys xs True y : nubByNubBy' yz ys (y : xs)

  
nubByNubBy'1 yz y ys xs True nubByNubBy' yz ys xs
nubByNubBy'1 yz y ys xs False nubByNubBy'0 yz y ys xs otherwise

  
nubByNubBy'2 yz (y : ysxs nubByNubBy'1 yz y ys xs (elem_by yz y xs)

  
nubByNubBy'3 yz [] vy []
nubByNubBy'3 yz yx yy nubByNubBy'2 yz yx yy

  union :: Eq a => [a ->  [a ->  [a]
union unionBy (==)

  unionBy :: (a  ->  a  ->  Bool ->  [a ->  [a ->  [a]
unionBy eq xs ys xs ++ foldl (flip (deleteBy eq)) (nubBy eq ys) xs


module Maybe where
  import qualified List
import qualified Prelude



Haskell To QDPs


↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
QDP
                        ↳ QDPSizeChangeProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primPlusNat(Succ(zu8000), Succ(zu46000000)) → new_primPlusNat(zu8000, zu46000000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
QDP
                        ↳ QDPSizeChangeProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primMulNat(Succ(zu31100000), Succ(zu4600000)) → new_primMulNat(zu31100000, Succ(zu4600000))

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
QDP
                        ↳ QDPSizeChangeProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primEqNat(Succ(zu3110000), Succ(zu460000)) → new_primEqNat(zu3110000, zu460000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
QDP
                        ↳ QDPSizeChangeProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_esEs1(Left(zu311000), Left(zu46000), app(ty_Maybe, de), df) → new_esEs(zu311000, zu46000, de)
new_esEs2(@3(zu311000, zu311001, zu311002), @3(zu46000, zu46001, zu46002), gb, gc, app(app(ty_Either, gf), gg)) → new_esEs1(zu311002, zu46002, gf, gg)
new_esEs1(Left(zu311000), Left(zu46000), app(app(ty_@2, ee), ef), df) → new_esEs3(zu311000, zu46000, ee, ef)
new_esEs0(:(zu311000, zu311001), :(zu46000, zu46001), app(app(ty_@2, dc), dd)) → new_esEs3(zu311000, zu46000, dc, dd)
new_esEs2(@3(zu311000, zu311001, zu311002), @3(zu46000, zu46001, zu46002), app(app(app(ty_@3, bbc), bbd), bbe), gc, hf) → new_esEs2(zu311000, zu46000, bbc, bbd, bbe)
new_esEs2(@3(zu311000, zu311001, zu311002), @3(zu46000, zu46001, zu46002), gb, gc, app(ty_[], ge)) → new_esEs0(zu311002, zu46002, ge)
new_esEs(Just(zu311000), Just(zu46000), app(app(ty_Either, bc), bd)) → new_esEs1(zu311000, zu46000, bc, bd)
new_esEs3(@2(zu311000, zu311001), @2(zu46000, zu46001), app(app(ty_Either, bde), bdf), bdc) → new_esEs1(zu311000, zu46000, bde, bdf)
new_esEs1(Left(zu311000), Left(zu46000), app(ty_[], dg), df) → new_esEs0(zu311000, zu46000, dg)
new_esEs2(@3(zu311000, zu311001, zu311002), @3(zu46000, zu46001, zu46002), gb, app(ty_Maybe, he), hf) → new_esEs(zu311001, zu46001, he)
new_esEs0(:(zu311000, zu311001), :(zu46000, zu46001), app(app(app(ty_@3, cg), da), db)) → new_esEs2(zu311000, zu46000, cg, da, db)
new_esEs2(@3(zu311000, zu311001, zu311002), @3(zu46000, zu46001, zu46002), app(app(ty_@2, bbf), bbg), gc, hf) → new_esEs3(zu311000, zu46000, bbf, bbg)
new_esEs3(@2(zu311000, zu311001), @2(zu46000, zu46001), bbh, app(app(app(ty_@3, bce), bcf), bcg)) → new_esEs2(zu311001, zu46001, bce, bcf, bcg)
new_esEs1(Left(zu311000), Left(zu46000), app(app(ty_Either, dh), ea), df) → new_esEs1(zu311000, zu46000, dh, ea)
new_esEs1(Right(zu311000), Right(zu46000), eg, app(ty_[], fa)) → new_esEs0(zu311000, zu46000, fa)
new_esEs2(@3(zu311000, zu311001, zu311002), @3(zu46000, zu46001, zu46002), gb, gc, app(ty_Maybe, gd)) → new_esEs(zu311002, zu46002, gd)
new_esEs(Just(zu311000), Just(zu46000), app(app(app(ty_@3, be), bf), bg)) → new_esEs2(zu311000, zu46000, be, bf, bg)
new_esEs(Just(zu311000), Just(zu46000), app(ty_Maybe, ba)) → new_esEs(zu311000, zu46000, ba)
new_esEs2(@3(zu311000, zu311001, zu311002), @3(zu46000, zu46001, zu46002), gb, app(app(ty_@2, bae), baf), hf) → new_esEs3(zu311001, zu46001, bae, baf)
new_esEs0(:(zu311000, zu311001), :(zu46000, zu46001), app(ty_Maybe, cc)) → new_esEs(zu311000, zu46000, cc)
new_esEs1(Right(zu311000), Right(zu46000), eg, app(app(ty_Either, fb), fc)) → new_esEs1(zu311000, zu46000, fb, fc)
new_esEs(Just(zu311000), Just(zu46000), app(ty_[], bb)) → new_esEs0(zu311000, zu46000, bb)
new_esEs2(@3(zu311000, zu311001, zu311002), @3(zu46000, zu46001, zu46002), app(ty_Maybe, bag), gc, hf) → new_esEs(zu311000, zu46000, bag)
new_esEs3(@2(zu311000, zu311001), @2(zu46000, zu46001), bbh, app(app(ty_@2, bch), bda)) → new_esEs3(zu311001, zu46001, bch, bda)
new_esEs(Just(zu311000), Just(zu46000), app(app(ty_@2, bh), ca)) → new_esEs3(zu311000, zu46000, bh, ca)
new_esEs2(@3(zu311000, zu311001, zu311002), @3(zu46000, zu46001, zu46002), gb, app(app(ty_Either, hh), baa), hf) → new_esEs1(zu311001, zu46001, hh, baa)
new_esEs1(Left(zu311000), Left(zu46000), app(app(app(ty_@3, eb), ec), ed), df) → new_esEs2(zu311000, zu46000, eb, ec, ed)
new_esEs1(Right(zu311000), Right(zu46000), eg, app(app(app(ty_@3, fd), ff), fg)) → new_esEs2(zu311000, zu46000, fd, ff, fg)
new_esEs3(@2(zu311000, zu311001), @2(zu46000, zu46001), bbh, app(app(ty_Either, bcc), bcd)) → new_esEs1(zu311001, zu46001, bcc, bcd)
new_esEs2(@3(zu311000, zu311001, zu311002), @3(zu46000, zu46001, zu46002), gb, app(app(app(ty_@3, bab), bac), bad), hf) → new_esEs2(zu311001, zu46001, bab, bac, bad)
new_esEs3(@2(zu311000, zu311001), @2(zu46000, zu46001), app(app(ty_@2, beb), bec), bdc) → new_esEs3(zu311000, zu46000, beb, bec)
new_esEs3(@2(zu311000, zu311001), @2(zu46000, zu46001), bbh, app(ty_Maybe, bca)) → new_esEs(zu311001, zu46001, bca)
new_esEs3(@2(zu311000, zu311001), @2(zu46000, zu46001), bbh, app(ty_[], bcb)) → new_esEs0(zu311001, zu46001, bcb)
new_esEs0(:(zu311000, zu311001), :(zu46000, zu46001), app(app(ty_Either, ce), cf)) → new_esEs1(zu311000, zu46000, ce, cf)
new_esEs2(@3(zu311000, zu311001, zu311002), @3(zu46000, zu46001, zu46002), app(app(ty_Either, bba), bbb), gc, hf) → new_esEs1(zu311000, zu46000, bba, bbb)
new_esEs3(@2(zu311000, zu311001), @2(zu46000, zu46001), app(app(app(ty_@3, bdg), bdh), bea), bdc) → new_esEs2(zu311000, zu46000, bdg, bdh, bea)
new_esEs0(:(zu311000, zu311001), :(zu46000, zu46001), app(ty_[], cd)) → new_esEs0(zu311000, zu46000, cd)
new_esEs2(@3(zu311000, zu311001, zu311002), @3(zu46000, zu46001, zu46002), gb, gc, app(app(ty_@2, hc), hd)) → new_esEs3(zu311002, zu46002, hc, hd)
new_esEs1(Right(zu311000), Right(zu46000), eg, app(ty_Maybe, eh)) → new_esEs(zu311000, zu46000, eh)
new_esEs1(Right(zu311000), Right(zu46000), eg, app(app(ty_@2, fh), ga)) → new_esEs3(zu311000, zu46000, fh, ga)
new_esEs2(@3(zu311000, zu311001, zu311002), @3(zu46000, zu46001, zu46002), app(ty_[], bah), gc, hf) → new_esEs0(zu311000, zu46000, bah)
new_esEs2(@3(zu311000, zu311001, zu311002), @3(zu46000, zu46001, zu46002), gb, app(ty_[], hg), hf) → new_esEs0(zu311001, zu46001, hg)
new_esEs3(@2(zu311000, zu311001), @2(zu46000, zu46001), app(ty_[], bdd), bdc) → new_esEs0(zu311000, zu46000, bdd)
new_esEs2(@3(zu311000, zu311001, zu311002), @3(zu46000, zu46001, zu46002), gb, gc, app(app(app(ty_@3, gh), ha), hb)) → new_esEs2(zu311002, zu46002, gh, ha, hb)
new_esEs0(:(zu311000, zu311001), :(zu46000, zu46001), cb) → new_esEs0(zu311001, zu46001, cb)
new_esEs3(@2(zu311000, zu311001), @2(zu46000, zu46001), app(ty_Maybe, bdb), bdc) → new_esEs(zu311000, zu46000, bdb)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
QDP
                        ↳ DependencyGraphProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_nubByNubBy'1(zu189, zu190, zu191, zu192, False, :(zu1940, zu1941), ba) → new_nubByNubBy'1(zu189, zu190, zu191, zu192, new_esEs4(zu1940, zu189, ba), zu1941, ba)
new_nubByNubBy'10(zu189, zu190, zu191, zu192, [], ba) → new_nubByNubBy'(zu190, zu189, :(zu191, zu192), ba)
new_nubByNubBy'1(zu189, :(zu1900, zu1901), zu191, zu192, True, zu194, ba) → new_nubByNubBy'10(zu1900, zu1901, zu191, zu192, :(zu191, zu192), ba)
new_nubByNubBy'1(zu189, zu190, zu191, zu192, False, [], ba) → new_nubByNubBy'(zu190, zu189, :(zu191, zu192), ba)
new_nubByNubBy'10(zu189, zu190, zu191, zu192, :(zu1940, zu1941), ba) → new_nubByNubBy'1(zu189, zu190, zu191, zu192, new_esEs4(zu1940, zu189, ba), zu1941, ba)
new_nubByNubBy'(:(zu1900, zu1901), zu191, zu192, ba) → new_nubByNubBy'10(zu1900, zu1901, zu191, zu192, :(zu191, zu192), ba)

The TRS R consists of the following rules:

new_esEs15(Left(zu311000), Left(zu46000), app(app(app(ty_@3, hg), hh), baa), ha) → new_esEs17(zu311000, zu46000, hg, hh, baa)
new_esEs6(zu311001, zu46001, ty_@0) → new_esEs20(zu311001, zu46001)
new_esEs18(Char(zu311000), Char(zu46000)) → new_primEqNat0(zu311000, zu46000)
new_primPlusNat1(Succ(zu8000), Succ(zu46000000)) → Succ(Succ(new_primPlusNat1(zu8000, zu46000000)))
new_primEqInt(Neg(Succ(zu3110000)), Pos(zu46000)) → False
new_primEqInt(Pos(Succ(zu3110000)), Neg(zu46000)) → False
new_esEs7(zu311000, zu46000, app(ty_Maybe, cg)) → new_esEs12(zu311000, zu46000, cg)
new_esEs15(Right(zu311000), Left(zu46000), bad, ha) → False
new_esEs15(Left(zu311000), Right(zu46000), bad, ha) → False
new_esEs13([], [], ea) → True
new_esEs15(Right(zu311000), Right(zu46000), bad, ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs7(zu311000, zu46000, app(app(app(ty_@3, dd), de), df)) → new_esEs17(zu311000, zu46000, dd, de, df)
new_esEs15(Right(zu311000), Right(zu46000), bad, app(app(ty_Either, bah), bba)) → new_esEs15(zu311000, zu46000, bah, bba)
new_esEs24(zu311002, zu46002, app(ty_[], bcd)) → new_esEs13(zu311002, zu46002, bcd)
new_esEs26(zu311000, zu46000, ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs26(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs21(zu311000, zu46000, app(ty_[], ed)) → new_esEs13(zu311000, zu46000, ed)
new_esEs12(Just(zu311000), Just(zu46000), app(ty_Ratio, fg)) → new_esEs10(zu311000, zu46000, fg)
new_esEs15(Right(zu311000), Right(zu46000), bad, app(ty_Ratio, bae)) → new_esEs10(zu311000, zu46000, bae)
new_primEqInt(Neg(Zero), Pos(Succ(zu460000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(zu460000))) → False
new_esEs17(@3(zu311000, zu311001, zu311002), @3(zu46000, zu46001, zu46002), bbg, bbh, bca) → new_asAs(new_esEs26(zu311000, zu46000, bbg), new_asAs(new_esEs25(zu311001, zu46001, bbh), new_esEs24(zu311002, zu46002, bca)))
new_esEs7(zu311000, zu46000, app(ty_Ratio, cf)) → new_esEs10(zu311000, zu46000, cf)
new_esEs7(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), app(app(ty_Either, he), hf), ha) → new_esEs15(zu311000, zu46000, he, hf)
new_esEs26(zu311000, zu46000, app(ty_Maybe, beg)) → new_esEs12(zu311000, zu46000, beg)
new_esEs7(zu311000, zu46000, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), app(app(ty_@2, gg), gh)) → new_esEs5(zu311000, zu46000, gg, gh)
new_esEs15(Left(zu311000), Left(zu46000), ty_Integer, ha) → new_esEs8(zu311000, zu46000)
new_esEs16(Float(zu311000, zu311001), Float(zu46000, zu46001)) → new_esEs9(new_sr(zu311000, zu46000), new_sr(zu311001, zu46001))
new_esEs6(zu311001, zu46001, ty_Integer) → new_esEs8(zu311001, zu46001)
new_primMulNat0(Zero, Zero) → Zero
new_esEs26(zu311000, zu46000, app(app(ty_@2, bff), bfg)) → new_esEs5(zu311000, zu46000, bff, bfg)
new_esEs21(zu311000, zu46000, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs26(zu311000, zu46000, ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs21(zu311000, zu46000, app(app(ty_@2, fb), fc)) → new_esEs5(zu311000, zu46000, fb, fc)
new_esEs26(zu311000, zu46000, app(ty_Ratio, bef)) → new_esEs10(zu311000, zu46000, bef)
new_esEs21(zu311000, zu46000, app(app(ty_Either, ee), ef)) → new_esEs15(zu311000, zu46000, ee, ef)
new_esEs6(zu311001, zu46001, app(ty_Ratio, bd)) → new_esEs10(zu311001, zu46001, bd)
new_esEs4(zu1940, zu189, ty_Ordering) → new_esEs19(zu1940, zu189)
new_esEs10(:%(zu311000, zu311001), :%(zu46000, zu46001), fd) → new_asAs(new_esEs23(zu311000, zu46000, fd), new_esEs22(zu311001, zu46001, fd))
new_esEs24(zu311002, zu46002, app(app(app(ty_@3, bcg), bch), bda)) → new_esEs17(zu311002, zu46002, bcg, bch, bda)
new_primPlusNat0(Zero, zu4600000) → Succ(zu4600000)
new_esEs5(@2(zu311000, zu311001), @2(zu46000, zu46001), bb, bc) → new_asAs(new_esEs7(zu311000, zu46000, bb), new_esEs6(zu311001, zu46001, bc))
new_esEs21(zu311000, zu46000, ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs7(zu311000, zu46000, app(app(ty_@2, dg), dh)) → new_esEs5(zu311000, zu46000, dg, dh)
new_esEs4(zu1940, zu189, app(app(app(ty_@3, bge), bgf), bgg)) → new_esEs17(zu1940, zu189, bge, bgf, bgg)
new_esEs6(zu311001, zu46001, app(app(app(ty_@3, ca), cb), cc)) → new_esEs17(zu311001, zu46001, ca, cb, cc)
new_esEs24(zu311002, zu46002, ty_Ordering) → new_esEs19(zu311002, zu46002)
new_esEs24(zu311002, zu46002, ty_Integer) → new_esEs8(zu311002, zu46002)
new_esEs12(Just(zu311000), Just(zu46000), ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), app(ty_Ratio, hb), ha) → new_esEs10(zu311000, zu46000, hb)
new_sr(Pos(zu3110000), Neg(zu460000)) → Neg(new_primMulNat0(zu3110000, zu460000))
new_sr(Neg(zu3110000), Pos(zu460000)) → Neg(new_primMulNat0(zu3110000, zu460000))
new_esEs25(zu311001, zu46001, app(app(ty_Either, bdg), bdh)) → new_esEs15(zu311001, zu46001, bdg, bdh)
new_esEs15(Left(zu311000), Left(zu46000), ty_Int, ha) → new_esEs9(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), app(ty_[], hd), ha) → new_esEs13(zu311000, zu46000, hd)
new_esEs6(zu311001, zu46001, ty_Ordering) → new_esEs19(zu311001, zu46001)
new_esEs19(GT, LT) → False
new_esEs19(LT, GT) → False
new_esEs4(zu1940, zu189, ty_@0) → new_esEs20(zu1940, zu189)
new_esEs4(zu1940, zu189, ty_Bool) → new_esEs11(zu1940, zu189)
new_esEs24(zu311002, zu46002, app(app(ty_@2, bdb), bdc)) → new_esEs5(zu311002, zu46002, bdb, bdc)
new_esEs12(Just(zu311000), Just(zu46000), app(app(ty_Either, gb), gc)) → new_esEs15(zu311000, zu46000, gb, gc)
new_esEs15(Left(zu311000), Left(zu46000), ty_Char, ha) → new_esEs18(zu311000, zu46000)
new_esEs6(zu311001, zu46001, ty_Bool) → new_esEs11(zu311001, zu46001)
new_esEs25(zu311001, zu46001, ty_Double) → new_esEs14(zu311001, zu46001)
new_esEs15(Right(zu311000), Right(zu46000), bad, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), app(app(app(ty_@3, gd), ge), gf)) → new_esEs17(zu311000, zu46000, gd, ge, gf)
new_esEs4(zu1940, zu189, ty_Integer) → new_esEs8(zu1940, zu189)
new_esEs4(zu1940, zu189, app(app(ty_Either, bgc), bgd)) → new_esEs15(zu1940, zu189, bgc, bgd)
new_esEs26(zu311000, zu46000, app(app(app(ty_@3, bfc), bfd), bfe)) → new_esEs17(zu311000, zu46000, bfc, bfd, bfe)
new_esEs21(zu311000, zu46000, app(ty_Ratio, eb)) → new_esEs10(zu311000, zu46000, eb)
new_primEqNat0(Succ(zu3110000), Zero) → False
new_primEqNat0(Zero, Succ(zu460000)) → False
new_esEs21(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), app(app(ty_@2, bab), bac), ha) → new_esEs5(zu311000, zu46000, bab, bac)
new_esEs7(zu311000, zu46000, ty_Float) → new_esEs16(zu311000, zu46000)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs15(Right(zu311000), Right(zu46000), bad, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs19(GT, GT) → True
new_esEs20(@0, @0) → True
new_esEs14(Double(zu311000, zu311001), Double(zu46000, zu46001)) → new_esEs9(new_sr(zu311000, zu46000), new_sr(zu311001, zu46001))
new_esEs12(Just(zu311000), Just(zu46000), ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs22(zu311001, zu46001, ty_Int) → new_esEs9(zu311001, zu46001)
new_esEs21(zu311000, zu46000, app(ty_Maybe, ec)) → new_esEs12(zu311000, zu46000, ec)
new_esEs24(zu311002, zu46002, ty_Int) → new_esEs9(zu311002, zu46002)
new_esEs4(zu1940, zu189, ty_Double) → new_esEs14(zu1940, zu189)
new_esEs12(Just(zu311000), Just(zu46000), ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), ty_Ordering, ha) → new_esEs19(zu311000, zu46000)
new_esEs25(zu311001, zu46001, ty_Ordering) → new_esEs19(zu311001, zu46001)
new_esEs11(True, False) → False
new_esEs11(False, True) → False
new_esEs12(Just(zu311000), Just(zu46000), app(ty_[], ga)) → new_esEs13(zu311000, zu46000, ga)
new_esEs15(Right(zu311000), Right(zu46000), bad, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs6(zu311001, zu46001, app(app(ty_@2, cd), ce)) → new_esEs5(zu311001, zu46001, cd, ce)
new_esEs19(LT, LT) → True
new_esEs15(Right(zu311000), Right(zu46000), bad, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs19(GT, EQ) → False
new_esEs19(EQ, GT) → False
new_esEs23(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs21(zu311000, zu46000, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs26(zu311000, zu46000, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs21(zu311000, zu46000, app(app(app(ty_@3, eg), eh), fa)) → new_esEs17(zu311000, zu46000, eg, eh, fa)
new_esEs13(:(zu311000, zu311001), :(zu46000, zu46001), ea) → new_asAs(new_esEs21(zu311000, zu46000, ea), new_esEs13(zu311001, zu46001, ea))
new_sr(Neg(zu3110000), Neg(zu460000)) → Pos(new_primMulNat0(zu3110000, zu460000))
new_esEs4(zu1940, zu189, app(ty_Ratio, bfh)) → new_esEs10(zu1940, zu189, bfh)
new_esEs15(Left(zu311000), Left(zu46000), ty_Bool, ha) → new_esEs11(zu311000, zu46000)
new_esEs12(Nothing, Just(zu46000), ff) → False
new_esEs12(Just(zu311000), Nothing, ff) → False
new_asAs(False, zu79) → False
new_sr(Pos(zu3110000), Pos(zu460000)) → Pos(new_primMulNat0(zu3110000, zu460000))
new_primEqNat0(Zero, Zero) → True
new_esEs6(zu311001, zu46001, app(ty_Maybe, be)) → new_esEs12(zu311001, zu46001, be)
new_esEs15(Right(zu311000), Right(zu46000), bad, app(app(app(ty_@3, bbb), bbc), bbd)) → new_esEs17(zu311000, zu46000, bbb, bbc, bbd)
new_primMulNat0(Zero, Succ(zu4600000)) → Zero
new_primMulNat0(Succ(zu31100000), Zero) → Zero
new_esEs13([], :(zu46000, zu46001), ea) → False
new_esEs13(:(zu311000, zu311001), [], ea) → False
new_esEs15(Right(zu311000), Right(zu46000), bad, ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs25(zu311001, zu46001, ty_Integer) → new_esEs8(zu311001, zu46001)
new_esEs15(Left(zu311000), Left(zu46000), app(ty_Maybe, hc), ha) → new_esEs12(zu311000, zu46000, hc)
new_esEs25(zu311001, zu46001, app(app(app(ty_@3, bea), beb), bec)) → new_esEs17(zu311001, zu46001, bea, beb, bec)
new_esEs23(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs4(zu1940, zu189, app(ty_Maybe, bga)) → new_esEs12(zu1940, zu189, bga)
new_esEs15(Right(zu311000), Right(zu46000), bad, ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs12(Nothing, Nothing, ff) → True
new_esEs6(zu311001, zu46001, ty_Int) → new_esEs9(zu311001, zu46001)
new_esEs6(zu311001, zu46001, app(ty_[], bf)) → new_esEs13(zu311001, zu46001, bf)
new_esEs8(Integer(zu311000), Integer(zu46000)) → new_primEqInt(zu311000, zu46000)
new_esEs6(zu311001, zu46001, ty_Char) → new_esEs18(zu311001, zu46001)
new_esEs11(True, True) → True
new_esEs26(zu311000, zu46000, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs6(zu311001, zu46001, ty_Double) → new_esEs14(zu311001, zu46001)
new_esEs24(zu311002, zu46002, app(ty_Ratio, bcb)) → new_esEs10(zu311002, zu46002, bcb)
new_esEs15(Right(zu311000), Right(zu46000), bad, app(ty_[], bag)) → new_esEs13(zu311000, zu46000, bag)
new_esEs6(zu311001, zu46001, ty_Float) → new_esEs16(zu311001, zu46001)
new_primPlusNat0(Succ(zu800), zu4600000) → Succ(Succ(new_primPlusNat1(zu800, zu4600000)))
new_esEs7(zu311000, zu46000, ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs26(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs25(zu311001, zu46001, app(ty_[], bdf)) → new_esEs13(zu311001, zu46001, bdf)
new_esEs25(zu311001, zu46001, ty_Float) → new_esEs16(zu311001, zu46001)
new_esEs21(zu311000, zu46000, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs25(zu311001, zu46001, app(ty_Maybe, bde)) → new_esEs12(zu311001, zu46001, bde)
new_esEs15(Left(zu311000), Left(zu46000), ty_@0, ha) → new_esEs20(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Char) → new_esEs18(zu311000, zu46000)
new_primEqInt(Neg(Succ(zu3110000)), Neg(Succ(zu460000))) → new_primEqNat0(zu3110000, zu460000)
new_esEs6(zu311001, zu46001, app(app(ty_Either, bg), bh)) → new_esEs15(zu311001, zu46001, bg, bh)
new_esEs25(zu311001, zu46001, ty_Bool) → new_esEs11(zu311001, zu46001)
new_esEs26(zu311000, zu46000, app(ty_[], beh)) → new_esEs13(zu311000, zu46000, beh)
new_esEs19(EQ, EQ) → True
new_esEs24(zu311002, zu46002, app(ty_Maybe, bcc)) → new_esEs12(zu311002, zu46002, bcc)
new_primPlusNat1(Succ(zu8000), Zero) → Succ(zu8000)
new_primPlusNat1(Zero, Succ(zu46000000)) → Succ(zu46000000)
new_esEs25(zu311001, zu46001, app(ty_Ratio, bdd)) → new_esEs10(zu311001, zu46001, bdd)
new_esEs15(Right(zu311000), Right(zu46000), bad, app(app(ty_@2, bbe), bbf)) → new_esEs5(zu311000, zu46000, bbe, bbf)
new_esEs25(zu311001, zu46001, app(app(ty_@2, bed), bee)) → new_esEs5(zu311001, zu46001, bed, bee)
new_esEs15(Left(zu311000), Left(zu46000), ty_Float, ha) → new_esEs16(zu311000, zu46000)
new_esEs25(zu311001, zu46001, ty_Char) → new_esEs18(zu311001, zu46001)
new_esEs4(zu1940, zu189, app(app(ty_@2, bgh), bha)) → new_esEs5(zu1940, zu189, bgh, bha)
new_esEs21(zu311000, zu46000, ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs7(zu311000, zu46000, app(ty_[], da)) → new_esEs13(zu311000, zu46000, da)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs4(zu1940, zu189, ty_Float) → new_esEs16(zu1940, zu189)
new_esEs7(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs7(zu311000, zu46000, app(app(ty_Either, db), dc)) → new_esEs15(zu311000, zu46000, db, dc)
new_primEqInt(Neg(Zero), Neg(Succ(zu460000))) → False
new_primEqInt(Neg(Succ(zu3110000)), Neg(Zero)) → False
new_esEs22(zu311001, zu46001, ty_Integer) → new_esEs8(zu311001, zu46001)
new_esEs15(Right(zu311000), Right(zu46000), bad, app(ty_Maybe, baf)) → new_esEs12(zu311000, zu46000, baf)
new_esEs26(zu311000, zu46000, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), app(ty_Maybe, fh)) → new_esEs12(zu311000, zu46000, fh)
new_esEs7(zu311000, zu46000, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_primPlusNat1(Zero, Zero) → Zero
new_esEs7(zu311000, zu46000, ty_Char) → new_esEs18(zu311000, zu46000)
new_asAs(True, zu79) → zu79
new_esEs24(zu311002, zu46002, ty_Float) → new_esEs16(zu311002, zu46002)
new_esEs7(zu311000, zu46000, ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), ty_Double, ha) → new_esEs14(zu311000, zu46000)
new_esEs24(zu311002, zu46002, app(app(ty_Either, bce), bcf)) → new_esEs15(zu311002, zu46002, bce, bcf)
new_primMulNat0(Succ(zu31100000), Succ(zu4600000)) → new_primPlusNat0(new_primMulNat0(zu31100000, Succ(zu4600000)), zu4600000)
new_esEs21(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs19(EQ, LT) → False
new_esEs19(LT, EQ) → False
new_esEs11(False, False) → True
new_esEs15(Right(zu311000), Right(zu46000), bad, ty_Int) → new_esEs9(zu311000, zu46000)
new_primEqInt(Pos(Succ(zu3110000)), Pos(Succ(zu460000))) → new_primEqNat0(zu3110000, zu460000)
new_esEs4(zu1940, zu189, ty_Char) → new_esEs18(zu1940, zu189)
new_esEs4(zu1940, zu189, app(ty_[], bgb)) → new_esEs13(zu1940, zu189, bgb)
new_esEs12(Just(zu311000), Just(zu46000), ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs25(zu311001, zu46001, ty_Int) → new_esEs9(zu311001, zu46001)
new_primEqNat0(Succ(zu3110000), Succ(zu460000)) → new_primEqNat0(zu3110000, zu460000)
new_esEs9(zu31100, zu4600) → new_primEqInt(zu31100, zu4600)
new_esEs26(zu311000, zu46000, ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs25(zu311001, zu46001, ty_@0) → new_esEs20(zu311001, zu46001)
new_esEs4(zu1940, zu189, ty_Int) → new_esEs9(zu1940, zu189)
new_esEs24(zu311002, zu46002, ty_Bool) → new_esEs11(zu311002, zu46002)
new_esEs21(zu311000, zu46000, ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs24(zu311002, zu46002, ty_Char) → new_esEs18(zu311002, zu46002)
new_primEqInt(Pos(Zero), Pos(Succ(zu460000))) → False
new_primEqInt(Pos(Succ(zu3110000)), Pos(Zero)) → False
new_esEs26(zu311000, zu46000, app(app(ty_Either, bfa), bfb)) → new_esEs15(zu311000, zu46000, bfa, bfb)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs24(zu311002, zu46002, ty_@0) → new_esEs20(zu311002, zu46002)
new_esEs24(zu311002, zu46002, ty_Double) → new_esEs14(zu311002, zu46002)

The set Q consists of the following terms:

new_esEs4(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs6(x0, x1, app(ty_[], x2))
new_esEs15(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs7(x0, x1, ty_Int)
new_esEs7(x0, x1, app(app(ty_@2, x2), x3))
new_esEs12(Just(x0), Just(x1), ty_Integer)
new_esEs11(True, True)
new_esEs7(x0, x1, ty_@0)
new_esEs21(x0, x1, ty_Integer)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs21(x0, x1, ty_Bool)
new_esEs15(Left(x0), Left(x1), ty_Double, x2)
new_esEs26(x0, x1, ty_Int)
new_esEs26(x0, x1, ty_@0)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_esEs4(x0, x1, ty_Integer)
new_esEs12(Just(x0), Just(x1), ty_Bool)
new_esEs15(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs5(@2(x0, x1), @2(x2, x3), x4, x5)
new_primPlusNat0(Succ(x0), x1)
new_esEs15(Left(x0), Left(x1), ty_Bool, x2)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_asAs(False, x0)
new_esEs15(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_esEs15(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs16(Float(x0, x1), Float(x2, x3))
new_esEs7(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_@0)
new_esEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs4(x0, x1, ty_@0)
new_primEqInt(Neg(Zero), Neg(Zero))
new_primPlusNat1(Succ(x0), Zero)
new_esEs6(x0, x1, ty_Double)
new_esEs6(x0, x1, app(app(ty_Either, x2), x3))
new_sr(Pos(x0), Pos(x1))
new_esEs12(Just(x0), Just(x1), ty_Int)
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs15(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs7(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Double)
new_esEs15(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs15(Left(x0), Left(x1), ty_@0, x2)
new_esEs11(True, False)
new_esEs11(False, True)
new_esEs15(Right(x0), Right(x1), x2, ty_Char)
new_esEs7(x0, x1, ty_Char)
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs25(x0, x1, ty_Ordering)
new_esEs6(x0, x1, ty_Integer)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_esEs6(x0, x1, ty_Ordering)
new_esEs26(x0, x1, ty_Bool)
new_esEs24(x0, x1, ty_@0)
new_esEs6(x0, x1, ty_Char)
new_esEs4(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_primEqNat0(Succ(x0), Succ(x1))
new_primMulNat0(Zero, Succ(x0))
new_esEs13([], :(x0, x1), x2)
new_esEs6(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs4(x0, x1, ty_Char)
new_asAs(True, x0)
new_sr(Pos(x0), Neg(x1))
new_sr(Neg(x0), Pos(x1))
new_esEs4(x0, x1, app(ty_Ratio, x2))
new_esEs21(x0, x1, ty_Float)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs15(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs15(Right(x0), Right(x1), x2, ty_Float)
new_esEs13(:(x0, x1), :(x2, x3), x4)
new_esEs12(Just(x0), Just(x1), ty_Double)
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs23(x0, x1, ty_Integer)
new_esEs4(x0, x1, ty_Bool)
new_esEs15(Right(x0), Right(x1), x2, ty_@0)
new_esEs15(Right(x0), Right(x1), x2, ty_Integer)
new_esEs4(x0, x1, ty_Double)
new_primEqNat0(Zero, Zero)
new_sr(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs4(x0, x1, ty_Float)
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_esEs6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs19(GT, GT)
new_esEs6(x0, x1, ty_@0)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs15(Left(x0), Left(x1), ty_Float, x2)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_esEs15(Right(x0), Right(x1), x2, ty_Double)
new_esEs7(x0, x1, app(ty_Ratio, x2))
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_esEs12(Just(x0), Just(x1), ty_Char)
new_primMulNat0(Zero, Zero)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs15(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs12(Just(x0), Nothing, x1)
new_esEs19(EQ, EQ)
new_esEs6(x0, x1, ty_Bool)
new_esEs10(:%(x0, x1), :%(x2, x3), x4)
new_esEs6(x0, x1, ty_Int)
new_esEs24(x0, x1, ty_Bool)
new_primEqNat0(Succ(x0), Zero)
new_esEs26(x0, x1, ty_Char)
new_esEs19(LT, EQ)
new_esEs19(EQ, LT)
new_esEs7(x0, x1, app(ty_[], x2))
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs15(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs21(x0, x1, ty_Char)
new_esEs15(Right(x0), Right(x1), x2, ty_Int)
new_esEs19(GT, LT)
new_esEs19(LT, GT)
new_esEs4(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs19(LT, LT)
new_esEs21(x0, x1, ty_Int)
new_esEs24(x0, x1, ty_Char)
new_esEs19(EQ, GT)
new_esEs19(GT, EQ)
new_esEs15(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs26(x0, x1, ty_Double)
new_esEs26(x0, x1, app(ty_[], x2))
new_primMulNat0(Succ(x0), Zero)
new_esEs21(x0, x1, ty_Ordering)
new_esEs15(Left(x0), Left(x1), ty_Char, x2)
new_esEs15(Left(x0), Left(x1), ty_Int, x2)
new_esEs13(:(x0, x1), [], x2)
new_esEs15(Left(x0), Left(x1), ty_Integer, x2)
new_esEs15(Right(x0), Right(x1), x2, ty_Bool)
new_esEs12(Just(x0), Just(x1), app(ty_[], x2))
new_primEqNat0(Zero, Succ(x0))
new_esEs12(Just(x0), Just(x1), ty_Ordering)
new_esEs6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs9(x0, x1)
new_esEs7(x0, x1, ty_Ordering)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_primPlusNat1(Succ(x0), Succ(x1))
new_esEs26(x0, x1, ty_Integer)
new_esEs15(Left(x0), Right(x1), x2, x3)
new_esEs15(Right(x0), Left(x1), x2, x3)
new_esEs12(Nothing, Nothing, x0)
new_esEs20(@0, @0)
new_esEs15(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs11(False, False)
new_esEs7(x0, x1, ty_Integer)
new_esEs23(x0, x1, ty_Int)
new_esEs25(x0, x1, ty_Integer)
new_esEs4(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Float)
new_esEs7(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_esEs12(Just(x0), Just(x1), ty_Float)
new_esEs25(x0, x1, ty_Double)
new_esEs22(x0, x1, ty_Int)
new_esEs6(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_@0)
new_esEs4(x0, x1, ty_Int)
new_esEs26(x0, x1, ty_Ordering)
new_esEs25(x0, x1, ty_Float)
new_esEs8(Integer(x0), Integer(x1))
new_esEs24(x0, x1, ty_Integer)
new_primPlusNat1(Zero, Zero)
new_esEs25(x0, x1, ty_Int)
new_esEs13([], [], x0)
new_esEs24(x0, x1, ty_Float)
new_esEs7(x0, x1, ty_Float)
new_esEs22(x0, x1, ty_Integer)
new_primEqInt(Pos(Zero), Pos(Zero))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs12(Nothing, Just(x0), x1)
new_esEs4(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs18(Char(x0), Char(x1))
new_esEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs25(x0, x1, ty_Char)
new_primPlusNat0(Zero, x0)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs25(x0, x1, ty_Bool)
new_esEs4(x0, x1, ty_Ordering)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs15(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs15(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs6(x0, x1, ty_Float)
new_esEs24(x0, x1, ty_Double)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs14(Double(x0, x1), Double(x2, x3))
new_esEs15(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs24(x0, x1, ty_Ordering)
new_esEs24(x0, x1, app(ty_[], x2))
new_esEs24(x0, x1, ty_Int)
new_esEs12(Just(x0), Just(x1), ty_@0)
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_esEs7(x0, x1, app(app(ty_Either, x2), x3))

We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 1 SCC with 1 less node.

↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                        ↳ DependencyGraphProof
QDP
                            ↳ QDPSizeChangeProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_nubByNubBy'1(zu189, zu190, zu191, zu192, False, :(zu1940, zu1941), ba) → new_nubByNubBy'1(zu189, zu190, zu191, zu192, new_esEs4(zu1940, zu189, ba), zu1941, ba)
new_nubByNubBy'1(zu189, :(zu1900, zu1901), zu191, zu192, True, zu194, ba) → new_nubByNubBy'10(zu1900, zu1901, zu191, zu192, :(zu191, zu192), ba)
new_nubByNubBy'1(zu189, zu190, zu191, zu192, False, [], ba) → new_nubByNubBy'(zu190, zu189, :(zu191, zu192), ba)
new_nubByNubBy'10(zu189, zu190, zu191, zu192, :(zu1940, zu1941), ba) → new_nubByNubBy'1(zu189, zu190, zu191, zu192, new_esEs4(zu1940, zu189, ba), zu1941, ba)
new_nubByNubBy'(:(zu1900, zu1901), zu191, zu192, ba) → new_nubByNubBy'10(zu1900, zu1901, zu191, zu192, :(zu191, zu192), ba)

The TRS R consists of the following rules:

new_esEs15(Left(zu311000), Left(zu46000), app(app(app(ty_@3, hg), hh), baa), ha) → new_esEs17(zu311000, zu46000, hg, hh, baa)
new_esEs6(zu311001, zu46001, ty_@0) → new_esEs20(zu311001, zu46001)
new_esEs18(Char(zu311000), Char(zu46000)) → new_primEqNat0(zu311000, zu46000)
new_primPlusNat1(Succ(zu8000), Succ(zu46000000)) → Succ(Succ(new_primPlusNat1(zu8000, zu46000000)))
new_primEqInt(Neg(Succ(zu3110000)), Pos(zu46000)) → False
new_primEqInt(Pos(Succ(zu3110000)), Neg(zu46000)) → False
new_esEs7(zu311000, zu46000, app(ty_Maybe, cg)) → new_esEs12(zu311000, zu46000, cg)
new_esEs15(Right(zu311000), Left(zu46000), bad, ha) → False
new_esEs15(Left(zu311000), Right(zu46000), bad, ha) → False
new_esEs13([], [], ea) → True
new_esEs15(Right(zu311000), Right(zu46000), bad, ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs7(zu311000, zu46000, app(app(app(ty_@3, dd), de), df)) → new_esEs17(zu311000, zu46000, dd, de, df)
new_esEs15(Right(zu311000), Right(zu46000), bad, app(app(ty_Either, bah), bba)) → new_esEs15(zu311000, zu46000, bah, bba)
new_esEs24(zu311002, zu46002, app(ty_[], bcd)) → new_esEs13(zu311002, zu46002, bcd)
new_esEs26(zu311000, zu46000, ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs26(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs21(zu311000, zu46000, app(ty_[], ed)) → new_esEs13(zu311000, zu46000, ed)
new_esEs12(Just(zu311000), Just(zu46000), app(ty_Ratio, fg)) → new_esEs10(zu311000, zu46000, fg)
new_esEs15(Right(zu311000), Right(zu46000), bad, app(ty_Ratio, bae)) → new_esEs10(zu311000, zu46000, bae)
new_primEqInt(Neg(Zero), Pos(Succ(zu460000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(zu460000))) → False
new_esEs17(@3(zu311000, zu311001, zu311002), @3(zu46000, zu46001, zu46002), bbg, bbh, bca) → new_asAs(new_esEs26(zu311000, zu46000, bbg), new_asAs(new_esEs25(zu311001, zu46001, bbh), new_esEs24(zu311002, zu46002, bca)))
new_esEs7(zu311000, zu46000, app(ty_Ratio, cf)) → new_esEs10(zu311000, zu46000, cf)
new_esEs7(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), app(app(ty_Either, he), hf), ha) → new_esEs15(zu311000, zu46000, he, hf)
new_esEs26(zu311000, zu46000, app(ty_Maybe, beg)) → new_esEs12(zu311000, zu46000, beg)
new_esEs7(zu311000, zu46000, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), app(app(ty_@2, gg), gh)) → new_esEs5(zu311000, zu46000, gg, gh)
new_esEs15(Left(zu311000), Left(zu46000), ty_Integer, ha) → new_esEs8(zu311000, zu46000)
new_esEs16(Float(zu311000, zu311001), Float(zu46000, zu46001)) → new_esEs9(new_sr(zu311000, zu46000), new_sr(zu311001, zu46001))
new_esEs6(zu311001, zu46001, ty_Integer) → new_esEs8(zu311001, zu46001)
new_primMulNat0(Zero, Zero) → Zero
new_esEs26(zu311000, zu46000, app(app(ty_@2, bff), bfg)) → new_esEs5(zu311000, zu46000, bff, bfg)
new_esEs21(zu311000, zu46000, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs26(zu311000, zu46000, ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs21(zu311000, zu46000, app(app(ty_@2, fb), fc)) → new_esEs5(zu311000, zu46000, fb, fc)
new_esEs26(zu311000, zu46000, app(ty_Ratio, bef)) → new_esEs10(zu311000, zu46000, bef)
new_esEs21(zu311000, zu46000, app(app(ty_Either, ee), ef)) → new_esEs15(zu311000, zu46000, ee, ef)
new_esEs6(zu311001, zu46001, app(ty_Ratio, bd)) → new_esEs10(zu311001, zu46001, bd)
new_esEs4(zu1940, zu189, ty_Ordering) → new_esEs19(zu1940, zu189)
new_esEs10(:%(zu311000, zu311001), :%(zu46000, zu46001), fd) → new_asAs(new_esEs23(zu311000, zu46000, fd), new_esEs22(zu311001, zu46001, fd))
new_esEs24(zu311002, zu46002, app(app(app(ty_@3, bcg), bch), bda)) → new_esEs17(zu311002, zu46002, bcg, bch, bda)
new_primPlusNat0(Zero, zu4600000) → Succ(zu4600000)
new_esEs5(@2(zu311000, zu311001), @2(zu46000, zu46001), bb, bc) → new_asAs(new_esEs7(zu311000, zu46000, bb), new_esEs6(zu311001, zu46001, bc))
new_esEs21(zu311000, zu46000, ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs7(zu311000, zu46000, app(app(ty_@2, dg), dh)) → new_esEs5(zu311000, zu46000, dg, dh)
new_esEs4(zu1940, zu189, app(app(app(ty_@3, bge), bgf), bgg)) → new_esEs17(zu1940, zu189, bge, bgf, bgg)
new_esEs6(zu311001, zu46001, app(app(app(ty_@3, ca), cb), cc)) → new_esEs17(zu311001, zu46001, ca, cb, cc)
new_esEs24(zu311002, zu46002, ty_Ordering) → new_esEs19(zu311002, zu46002)
new_esEs24(zu311002, zu46002, ty_Integer) → new_esEs8(zu311002, zu46002)
new_esEs12(Just(zu311000), Just(zu46000), ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), app(ty_Ratio, hb), ha) → new_esEs10(zu311000, zu46000, hb)
new_sr(Pos(zu3110000), Neg(zu460000)) → Neg(new_primMulNat0(zu3110000, zu460000))
new_sr(Neg(zu3110000), Pos(zu460000)) → Neg(new_primMulNat0(zu3110000, zu460000))
new_esEs25(zu311001, zu46001, app(app(ty_Either, bdg), bdh)) → new_esEs15(zu311001, zu46001, bdg, bdh)
new_esEs15(Left(zu311000), Left(zu46000), ty_Int, ha) → new_esEs9(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), app(ty_[], hd), ha) → new_esEs13(zu311000, zu46000, hd)
new_esEs6(zu311001, zu46001, ty_Ordering) → new_esEs19(zu311001, zu46001)
new_esEs19(GT, LT) → False
new_esEs19(LT, GT) → False
new_esEs4(zu1940, zu189, ty_@0) → new_esEs20(zu1940, zu189)
new_esEs4(zu1940, zu189, ty_Bool) → new_esEs11(zu1940, zu189)
new_esEs24(zu311002, zu46002, app(app(ty_@2, bdb), bdc)) → new_esEs5(zu311002, zu46002, bdb, bdc)
new_esEs12(Just(zu311000), Just(zu46000), app(app(ty_Either, gb), gc)) → new_esEs15(zu311000, zu46000, gb, gc)
new_esEs15(Left(zu311000), Left(zu46000), ty_Char, ha) → new_esEs18(zu311000, zu46000)
new_esEs6(zu311001, zu46001, ty_Bool) → new_esEs11(zu311001, zu46001)
new_esEs25(zu311001, zu46001, ty_Double) → new_esEs14(zu311001, zu46001)
new_esEs15(Right(zu311000), Right(zu46000), bad, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), app(app(app(ty_@3, gd), ge), gf)) → new_esEs17(zu311000, zu46000, gd, ge, gf)
new_esEs4(zu1940, zu189, ty_Integer) → new_esEs8(zu1940, zu189)
new_esEs4(zu1940, zu189, app(app(ty_Either, bgc), bgd)) → new_esEs15(zu1940, zu189, bgc, bgd)
new_esEs26(zu311000, zu46000, app(app(app(ty_@3, bfc), bfd), bfe)) → new_esEs17(zu311000, zu46000, bfc, bfd, bfe)
new_esEs21(zu311000, zu46000, app(ty_Ratio, eb)) → new_esEs10(zu311000, zu46000, eb)
new_primEqNat0(Succ(zu3110000), Zero) → False
new_primEqNat0(Zero, Succ(zu460000)) → False
new_esEs21(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), app(app(ty_@2, bab), bac), ha) → new_esEs5(zu311000, zu46000, bab, bac)
new_esEs7(zu311000, zu46000, ty_Float) → new_esEs16(zu311000, zu46000)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs15(Right(zu311000), Right(zu46000), bad, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs19(GT, GT) → True
new_esEs20(@0, @0) → True
new_esEs14(Double(zu311000, zu311001), Double(zu46000, zu46001)) → new_esEs9(new_sr(zu311000, zu46000), new_sr(zu311001, zu46001))
new_esEs12(Just(zu311000), Just(zu46000), ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs22(zu311001, zu46001, ty_Int) → new_esEs9(zu311001, zu46001)
new_esEs21(zu311000, zu46000, app(ty_Maybe, ec)) → new_esEs12(zu311000, zu46000, ec)
new_esEs24(zu311002, zu46002, ty_Int) → new_esEs9(zu311002, zu46002)
new_esEs4(zu1940, zu189, ty_Double) → new_esEs14(zu1940, zu189)
new_esEs12(Just(zu311000), Just(zu46000), ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), ty_Ordering, ha) → new_esEs19(zu311000, zu46000)
new_esEs25(zu311001, zu46001, ty_Ordering) → new_esEs19(zu311001, zu46001)
new_esEs11(True, False) → False
new_esEs11(False, True) → False
new_esEs12(Just(zu311000), Just(zu46000), app(ty_[], ga)) → new_esEs13(zu311000, zu46000, ga)
new_esEs15(Right(zu311000), Right(zu46000), bad, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs6(zu311001, zu46001, app(app(ty_@2, cd), ce)) → new_esEs5(zu311001, zu46001, cd, ce)
new_esEs19(LT, LT) → True
new_esEs15(Right(zu311000), Right(zu46000), bad, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs19(GT, EQ) → False
new_esEs19(EQ, GT) → False
new_esEs23(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs21(zu311000, zu46000, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs26(zu311000, zu46000, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs21(zu311000, zu46000, app(app(app(ty_@3, eg), eh), fa)) → new_esEs17(zu311000, zu46000, eg, eh, fa)
new_esEs13(:(zu311000, zu311001), :(zu46000, zu46001), ea) → new_asAs(new_esEs21(zu311000, zu46000, ea), new_esEs13(zu311001, zu46001, ea))
new_sr(Neg(zu3110000), Neg(zu460000)) → Pos(new_primMulNat0(zu3110000, zu460000))
new_esEs4(zu1940, zu189, app(ty_Ratio, bfh)) → new_esEs10(zu1940, zu189, bfh)
new_esEs15(Left(zu311000), Left(zu46000), ty_Bool, ha) → new_esEs11(zu311000, zu46000)
new_esEs12(Nothing, Just(zu46000), ff) → False
new_esEs12(Just(zu311000), Nothing, ff) → False
new_asAs(False, zu79) → False
new_sr(Pos(zu3110000), Pos(zu460000)) → Pos(new_primMulNat0(zu3110000, zu460000))
new_primEqNat0(Zero, Zero) → True
new_esEs6(zu311001, zu46001, app(ty_Maybe, be)) → new_esEs12(zu311001, zu46001, be)
new_esEs15(Right(zu311000), Right(zu46000), bad, app(app(app(ty_@3, bbb), bbc), bbd)) → new_esEs17(zu311000, zu46000, bbb, bbc, bbd)
new_primMulNat0(Zero, Succ(zu4600000)) → Zero
new_primMulNat0(Succ(zu31100000), Zero) → Zero
new_esEs13([], :(zu46000, zu46001), ea) → False
new_esEs13(:(zu311000, zu311001), [], ea) → False
new_esEs15(Right(zu311000), Right(zu46000), bad, ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs25(zu311001, zu46001, ty_Integer) → new_esEs8(zu311001, zu46001)
new_esEs15(Left(zu311000), Left(zu46000), app(ty_Maybe, hc), ha) → new_esEs12(zu311000, zu46000, hc)
new_esEs25(zu311001, zu46001, app(app(app(ty_@3, bea), beb), bec)) → new_esEs17(zu311001, zu46001, bea, beb, bec)
new_esEs23(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs4(zu1940, zu189, app(ty_Maybe, bga)) → new_esEs12(zu1940, zu189, bga)
new_esEs15(Right(zu311000), Right(zu46000), bad, ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs12(Nothing, Nothing, ff) → True
new_esEs6(zu311001, zu46001, ty_Int) → new_esEs9(zu311001, zu46001)
new_esEs6(zu311001, zu46001, app(ty_[], bf)) → new_esEs13(zu311001, zu46001, bf)
new_esEs8(Integer(zu311000), Integer(zu46000)) → new_primEqInt(zu311000, zu46000)
new_esEs6(zu311001, zu46001, ty_Char) → new_esEs18(zu311001, zu46001)
new_esEs11(True, True) → True
new_esEs26(zu311000, zu46000, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs6(zu311001, zu46001, ty_Double) → new_esEs14(zu311001, zu46001)
new_esEs24(zu311002, zu46002, app(ty_Ratio, bcb)) → new_esEs10(zu311002, zu46002, bcb)
new_esEs15(Right(zu311000), Right(zu46000), bad, app(ty_[], bag)) → new_esEs13(zu311000, zu46000, bag)
new_esEs6(zu311001, zu46001, ty_Float) → new_esEs16(zu311001, zu46001)
new_primPlusNat0(Succ(zu800), zu4600000) → Succ(Succ(new_primPlusNat1(zu800, zu4600000)))
new_esEs7(zu311000, zu46000, ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs26(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs25(zu311001, zu46001, app(ty_[], bdf)) → new_esEs13(zu311001, zu46001, bdf)
new_esEs25(zu311001, zu46001, ty_Float) → new_esEs16(zu311001, zu46001)
new_esEs21(zu311000, zu46000, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs25(zu311001, zu46001, app(ty_Maybe, bde)) → new_esEs12(zu311001, zu46001, bde)
new_esEs15(Left(zu311000), Left(zu46000), ty_@0, ha) → new_esEs20(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Char) → new_esEs18(zu311000, zu46000)
new_primEqInt(Neg(Succ(zu3110000)), Neg(Succ(zu460000))) → new_primEqNat0(zu3110000, zu460000)
new_esEs6(zu311001, zu46001, app(app(ty_Either, bg), bh)) → new_esEs15(zu311001, zu46001, bg, bh)
new_esEs25(zu311001, zu46001, ty_Bool) → new_esEs11(zu311001, zu46001)
new_esEs26(zu311000, zu46000, app(ty_[], beh)) → new_esEs13(zu311000, zu46000, beh)
new_esEs19(EQ, EQ) → True
new_esEs24(zu311002, zu46002, app(ty_Maybe, bcc)) → new_esEs12(zu311002, zu46002, bcc)
new_primPlusNat1(Succ(zu8000), Zero) → Succ(zu8000)
new_primPlusNat1(Zero, Succ(zu46000000)) → Succ(zu46000000)
new_esEs25(zu311001, zu46001, app(ty_Ratio, bdd)) → new_esEs10(zu311001, zu46001, bdd)
new_esEs15(Right(zu311000), Right(zu46000), bad, app(app(ty_@2, bbe), bbf)) → new_esEs5(zu311000, zu46000, bbe, bbf)
new_esEs25(zu311001, zu46001, app(app(ty_@2, bed), bee)) → new_esEs5(zu311001, zu46001, bed, bee)
new_esEs15(Left(zu311000), Left(zu46000), ty_Float, ha) → new_esEs16(zu311000, zu46000)
new_esEs25(zu311001, zu46001, ty_Char) → new_esEs18(zu311001, zu46001)
new_esEs4(zu1940, zu189, app(app(ty_@2, bgh), bha)) → new_esEs5(zu1940, zu189, bgh, bha)
new_esEs21(zu311000, zu46000, ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs7(zu311000, zu46000, app(ty_[], da)) → new_esEs13(zu311000, zu46000, da)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs4(zu1940, zu189, ty_Float) → new_esEs16(zu1940, zu189)
new_esEs7(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs7(zu311000, zu46000, app(app(ty_Either, db), dc)) → new_esEs15(zu311000, zu46000, db, dc)
new_primEqInt(Neg(Zero), Neg(Succ(zu460000))) → False
new_primEqInt(Neg(Succ(zu3110000)), Neg(Zero)) → False
new_esEs22(zu311001, zu46001, ty_Integer) → new_esEs8(zu311001, zu46001)
new_esEs15(Right(zu311000), Right(zu46000), bad, app(ty_Maybe, baf)) → new_esEs12(zu311000, zu46000, baf)
new_esEs26(zu311000, zu46000, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), app(ty_Maybe, fh)) → new_esEs12(zu311000, zu46000, fh)
new_esEs7(zu311000, zu46000, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_primPlusNat1(Zero, Zero) → Zero
new_esEs7(zu311000, zu46000, ty_Char) → new_esEs18(zu311000, zu46000)
new_asAs(True, zu79) → zu79
new_esEs24(zu311002, zu46002, ty_Float) → new_esEs16(zu311002, zu46002)
new_esEs7(zu311000, zu46000, ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), ty_Double, ha) → new_esEs14(zu311000, zu46000)
new_esEs24(zu311002, zu46002, app(app(ty_Either, bce), bcf)) → new_esEs15(zu311002, zu46002, bce, bcf)
new_primMulNat0(Succ(zu31100000), Succ(zu4600000)) → new_primPlusNat0(new_primMulNat0(zu31100000, Succ(zu4600000)), zu4600000)
new_esEs21(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs19(EQ, LT) → False
new_esEs19(LT, EQ) → False
new_esEs11(False, False) → True
new_esEs15(Right(zu311000), Right(zu46000), bad, ty_Int) → new_esEs9(zu311000, zu46000)
new_primEqInt(Pos(Succ(zu3110000)), Pos(Succ(zu460000))) → new_primEqNat0(zu3110000, zu460000)
new_esEs4(zu1940, zu189, ty_Char) → new_esEs18(zu1940, zu189)
new_esEs4(zu1940, zu189, app(ty_[], bgb)) → new_esEs13(zu1940, zu189, bgb)
new_esEs12(Just(zu311000), Just(zu46000), ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs25(zu311001, zu46001, ty_Int) → new_esEs9(zu311001, zu46001)
new_primEqNat0(Succ(zu3110000), Succ(zu460000)) → new_primEqNat0(zu3110000, zu460000)
new_esEs9(zu31100, zu4600) → new_primEqInt(zu31100, zu4600)
new_esEs26(zu311000, zu46000, ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs25(zu311001, zu46001, ty_@0) → new_esEs20(zu311001, zu46001)
new_esEs4(zu1940, zu189, ty_Int) → new_esEs9(zu1940, zu189)
new_esEs24(zu311002, zu46002, ty_Bool) → new_esEs11(zu311002, zu46002)
new_esEs21(zu311000, zu46000, ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs24(zu311002, zu46002, ty_Char) → new_esEs18(zu311002, zu46002)
new_primEqInt(Pos(Zero), Pos(Succ(zu460000))) → False
new_primEqInt(Pos(Succ(zu3110000)), Pos(Zero)) → False
new_esEs26(zu311000, zu46000, app(app(ty_Either, bfa), bfb)) → new_esEs15(zu311000, zu46000, bfa, bfb)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs24(zu311002, zu46002, ty_@0) → new_esEs20(zu311002, zu46002)
new_esEs24(zu311002, zu46002, ty_Double) → new_esEs14(zu311002, zu46002)

The set Q consists of the following terms:

new_esEs4(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs6(x0, x1, app(ty_[], x2))
new_esEs15(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs7(x0, x1, ty_Int)
new_esEs7(x0, x1, app(app(ty_@2, x2), x3))
new_esEs12(Just(x0), Just(x1), ty_Integer)
new_esEs11(True, True)
new_esEs7(x0, x1, ty_@0)
new_esEs21(x0, x1, ty_Integer)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs21(x0, x1, ty_Bool)
new_esEs15(Left(x0), Left(x1), ty_Double, x2)
new_esEs26(x0, x1, ty_Int)
new_esEs26(x0, x1, ty_@0)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_esEs4(x0, x1, ty_Integer)
new_esEs12(Just(x0), Just(x1), ty_Bool)
new_esEs15(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs5(@2(x0, x1), @2(x2, x3), x4, x5)
new_primPlusNat0(Succ(x0), x1)
new_esEs15(Left(x0), Left(x1), ty_Bool, x2)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_asAs(False, x0)
new_esEs15(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_esEs15(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs16(Float(x0, x1), Float(x2, x3))
new_esEs7(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_@0)
new_esEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs4(x0, x1, ty_@0)
new_primEqInt(Neg(Zero), Neg(Zero))
new_primPlusNat1(Succ(x0), Zero)
new_esEs6(x0, x1, ty_Double)
new_esEs6(x0, x1, app(app(ty_Either, x2), x3))
new_sr(Pos(x0), Pos(x1))
new_esEs12(Just(x0), Just(x1), ty_Int)
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs15(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs7(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Double)
new_esEs15(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs15(Left(x0), Left(x1), ty_@0, x2)
new_esEs11(True, False)
new_esEs11(False, True)
new_esEs15(Right(x0), Right(x1), x2, ty_Char)
new_esEs7(x0, x1, ty_Char)
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs25(x0, x1, ty_Ordering)
new_esEs6(x0, x1, ty_Integer)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_esEs6(x0, x1, ty_Ordering)
new_esEs26(x0, x1, ty_Bool)
new_esEs24(x0, x1, ty_@0)
new_esEs6(x0, x1, ty_Char)
new_esEs4(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_primEqNat0(Succ(x0), Succ(x1))
new_primMulNat0(Zero, Succ(x0))
new_esEs13([], :(x0, x1), x2)
new_esEs6(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs4(x0, x1, ty_Char)
new_asAs(True, x0)
new_sr(Pos(x0), Neg(x1))
new_sr(Neg(x0), Pos(x1))
new_esEs4(x0, x1, app(ty_Ratio, x2))
new_esEs21(x0, x1, ty_Float)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs15(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs15(Right(x0), Right(x1), x2, ty_Float)
new_esEs13(:(x0, x1), :(x2, x3), x4)
new_esEs12(Just(x0), Just(x1), ty_Double)
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs23(x0, x1, ty_Integer)
new_esEs4(x0, x1, ty_Bool)
new_esEs15(Right(x0), Right(x1), x2, ty_@0)
new_esEs15(Right(x0), Right(x1), x2, ty_Integer)
new_esEs4(x0, x1, ty_Double)
new_primEqNat0(Zero, Zero)
new_sr(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs4(x0, x1, ty_Float)
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_esEs6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs19(GT, GT)
new_esEs6(x0, x1, ty_@0)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs15(Left(x0), Left(x1), ty_Float, x2)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_esEs15(Right(x0), Right(x1), x2, ty_Double)
new_esEs7(x0, x1, app(ty_Ratio, x2))
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_esEs12(Just(x0), Just(x1), ty_Char)
new_primMulNat0(Zero, Zero)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs15(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs12(Just(x0), Nothing, x1)
new_esEs19(EQ, EQ)
new_esEs6(x0, x1, ty_Bool)
new_esEs10(:%(x0, x1), :%(x2, x3), x4)
new_esEs6(x0, x1, ty_Int)
new_esEs24(x0, x1, ty_Bool)
new_primEqNat0(Succ(x0), Zero)
new_esEs26(x0, x1, ty_Char)
new_esEs19(LT, EQ)
new_esEs19(EQ, LT)
new_esEs7(x0, x1, app(ty_[], x2))
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs15(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs21(x0, x1, ty_Char)
new_esEs15(Right(x0), Right(x1), x2, ty_Int)
new_esEs19(GT, LT)
new_esEs19(LT, GT)
new_esEs4(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs19(LT, LT)
new_esEs21(x0, x1, ty_Int)
new_esEs24(x0, x1, ty_Char)
new_esEs19(EQ, GT)
new_esEs19(GT, EQ)
new_esEs15(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs26(x0, x1, ty_Double)
new_esEs26(x0, x1, app(ty_[], x2))
new_primMulNat0(Succ(x0), Zero)
new_esEs21(x0, x1, ty_Ordering)
new_esEs15(Left(x0), Left(x1), ty_Char, x2)
new_esEs15(Left(x0), Left(x1), ty_Int, x2)
new_esEs13(:(x0, x1), [], x2)
new_esEs15(Left(x0), Left(x1), ty_Integer, x2)
new_esEs15(Right(x0), Right(x1), x2, ty_Bool)
new_esEs12(Just(x0), Just(x1), app(ty_[], x2))
new_primEqNat0(Zero, Succ(x0))
new_esEs12(Just(x0), Just(x1), ty_Ordering)
new_esEs6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs9(x0, x1)
new_esEs7(x0, x1, ty_Ordering)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_primPlusNat1(Succ(x0), Succ(x1))
new_esEs26(x0, x1, ty_Integer)
new_esEs15(Left(x0), Right(x1), x2, x3)
new_esEs15(Right(x0), Left(x1), x2, x3)
new_esEs12(Nothing, Nothing, x0)
new_esEs20(@0, @0)
new_esEs15(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs11(False, False)
new_esEs7(x0, x1, ty_Integer)
new_esEs23(x0, x1, ty_Int)
new_esEs25(x0, x1, ty_Integer)
new_esEs4(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Float)
new_esEs7(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_esEs12(Just(x0), Just(x1), ty_Float)
new_esEs25(x0, x1, ty_Double)
new_esEs22(x0, x1, ty_Int)
new_esEs6(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_@0)
new_esEs4(x0, x1, ty_Int)
new_esEs26(x0, x1, ty_Ordering)
new_esEs25(x0, x1, ty_Float)
new_esEs8(Integer(x0), Integer(x1))
new_esEs24(x0, x1, ty_Integer)
new_primPlusNat1(Zero, Zero)
new_esEs25(x0, x1, ty_Int)
new_esEs13([], [], x0)
new_esEs24(x0, x1, ty_Float)
new_esEs7(x0, x1, ty_Float)
new_esEs22(x0, x1, ty_Integer)
new_primEqInt(Pos(Zero), Pos(Zero))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs12(Nothing, Just(x0), x1)
new_esEs4(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs18(Char(x0), Char(x1))
new_esEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs25(x0, x1, ty_Char)
new_primPlusNat0(Zero, x0)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs25(x0, x1, ty_Bool)
new_esEs4(x0, x1, ty_Ordering)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs15(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs15(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs6(x0, x1, ty_Float)
new_esEs24(x0, x1, ty_Double)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs14(Double(x0, x1), Double(x2, x3))
new_esEs15(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs24(x0, x1, ty_Ordering)
new_esEs24(x0, x1, app(ty_[], x2))
new_esEs24(x0, x1, ty_Int)
new_esEs12(Just(x0), Just(x1), ty_@0)
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_esEs7(x0, x1, app(app(ty_Either, x2), x3))

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
QDP
                        ↳ DependencyGraphProof
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_deleteBy0(zu53, zu54, zu55, False, ba, bb) → new_deleteBy(Left(zu55), zu53, ba, bb)
new_deleteBy(Right(zu31100), :(Right(zu4600), zu461), bc, bd) → new_deleteBy00(zu461, zu4600, zu31100, new_esEs28(zu31100, zu4600, bd), bc, bd)
new_deleteBy(Left(zu31100), :(Left(zu4600), zu461), bc, bd) → new_deleteBy0(zu461, zu4600, zu31100, new_esEs27(zu31100, zu4600, bc), bc, bd)
new_deleteBy(Right(zu31100), :(Left(zu4600), zu461), bc, bd) → new_deleteBy(Right(zu31100), zu461, bc, bd)
new_deleteBy00(zu62, zu63, zu64, False, be, bf) → new_deleteBy(Right(zu64), zu62, be, bf)
new_deleteBy(Left(zu31100), :(Right(zu4600), zu461), bc, bd) → new_deleteBy(Left(zu31100), zu461, bc, bd)

The TRS R consists of the following rules:

new_esEs15(Left(zu311000), Left(zu46000), app(app(app(ty_@3, bah), bba), bbb), cc) → new_esEs17(zu311000, zu46000, bah, bba, bbb)
new_esEs28(zu31100, zu4600, app(ty_[], bda)) → new_esEs13(zu31100, zu4600, bda)
new_esEs6(zu311001, zu46001, ty_@0) → new_esEs20(zu311001, zu46001)
new_esEs18(Char(zu311000), Char(zu46000)) → new_primEqNat0(zu311000, zu46000)
new_primPlusNat1(Succ(zu8000), Succ(zu46000000)) → Succ(Succ(new_primPlusNat1(zu8000, zu46000000)))
new_primEqInt(Neg(Succ(zu3110000)), Pos(zu46000)) → False
new_primEqInt(Pos(Succ(zu3110000)), Neg(zu46000)) → False
new_esEs7(zu311000, zu46000, app(ty_Maybe, ee)) → new_esEs12(zu311000, zu46000, ee)
new_esEs15(Right(zu311000), Left(zu46000), cb, cc) → False
new_esEs15(Left(zu311000), Right(zu46000), cb, cc) → False
new_esEs13([], [], ca) → True
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs7(zu311000, zu46000, app(app(app(ty_@3, fa), fb), fc)) → new_esEs17(zu311000, zu46000, fa, fb, fc)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(app(ty_Either, bbh), bca)) → new_esEs15(zu311000, zu46000, bbh, bca)
new_esEs24(zu311002, zu46002, app(ty_[], bec)) → new_esEs13(zu311002, zu46002, bec)
new_esEs26(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs26(zu311000, zu46000, ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs21(zu311000, zu46000, app(ty_[], ga)) → new_esEs13(zu311000, zu46000, ga)
new_esEs12(Just(zu311000), Just(zu46000), app(ty_Ratio, ha)) → new_esEs10(zu311000, zu46000, ha)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(ty_Ratio, bbe)) → new_esEs10(zu311000, zu46000, bbe)
new_primEqInt(Neg(Zero), Pos(Succ(zu460000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(zu460000))) → False
new_esEs17(@3(zu311000, zu311001, zu311002), @3(zu46000, zu46001, zu46002), cd, ce, cf) → new_asAs(new_esEs26(zu311000, zu46000, cd), new_asAs(new_esEs25(zu311001, zu46001, ce), new_esEs24(zu311002, zu46002, cf)))
new_esEs7(zu311000, zu46000, app(ty_Ratio, ed)) → new_esEs10(zu311000, zu46000, ed)
new_esEs7(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs27(zu31100, zu4600, ty_Ordering) → new_esEs19(zu31100, zu4600)
new_esEs15(Left(zu311000), Left(zu46000), app(app(ty_Either, baf), bag), cc) → new_esEs15(zu311000, zu46000, baf, bag)
new_esEs7(zu311000, zu46000, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), app(app(ty_@2, baa), bab)) → new_esEs5(zu311000, zu46000, baa, bab)
new_esEs26(zu311000, zu46000, app(ty_Maybe, bgf)) → new_esEs12(zu311000, zu46000, bgf)
new_esEs15(Left(zu311000), Left(zu46000), ty_Integer, cc) → new_esEs8(zu311000, zu46000)
new_esEs16(Float(zu311000, zu311001), Float(zu46000, zu46001)) → new_esEs9(new_sr(zu311000, zu46000), new_sr(zu311001, zu46001))
new_esEs6(zu311001, zu46001, ty_Integer) → new_esEs8(zu311001, zu46001)
new_primMulNat0(Zero, Zero) → Zero
new_esEs21(zu311000, zu46000, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs26(zu311000, zu46000, app(app(ty_@2, bhe), bhf)) → new_esEs5(zu311000, zu46000, bhe, bhf)
new_esEs26(zu311000, zu46000, ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs21(zu311000, zu46000, app(app(ty_@2, gg), gh)) → new_esEs5(zu311000, zu46000, gg, gh)
new_esEs26(zu311000, zu46000, app(ty_Ratio, bge)) → new_esEs10(zu311000, zu46000, bge)
new_esEs28(zu31100, zu4600, app(ty_Ratio, bcg)) → new_esEs10(zu31100, zu4600, bcg)
new_esEs6(zu311001, zu46001, app(ty_Ratio, db)) → new_esEs10(zu311001, zu46001, db)
new_esEs21(zu311000, zu46000, app(app(ty_Either, gb), gc)) → new_esEs15(zu311000, zu46000, gb, gc)
new_esEs10(:%(zu311000, zu311001), :%(zu46000, zu46001), bg) → new_asAs(new_esEs23(zu311000, zu46000, bg), new_esEs22(zu311001, zu46001, bg))
new_esEs24(zu311002, zu46002, app(app(app(ty_@3, bef), beg), beh)) → new_esEs17(zu311002, zu46002, bef, beg, beh)
new_primPlusNat0(Zero, zu4600000) → Succ(zu4600000)
new_esEs5(@2(zu311000, zu311001), @2(zu46000, zu46001), cg, da) → new_asAs(new_esEs7(zu311000, zu46000, cg), new_esEs6(zu311001, zu46001, da))
new_esEs21(zu311000, zu46000, ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs7(zu311000, zu46000, app(app(ty_@2, fd), ff)) → new_esEs5(zu311000, zu46000, fd, ff)
new_esEs6(zu311001, zu46001, app(app(app(ty_@3, dg), dh), ea)) → new_esEs17(zu311001, zu46001, dg, dh, ea)
new_esEs24(zu311002, zu46002, ty_Ordering) → new_esEs19(zu311002, zu46002)
new_esEs24(zu311002, zu46002, ty_Integer) → new_esEs8(zu311002, zu46002)
new_esEs12(Just(zu311000), Just(zu46000), ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), app(ty_Ratio, bac), cc) → new_esEs10(zu311000, zu46000, bac)
new_esEs28(zu31100, zu4600, app(app(ty_@2, bdg), bdh)) → new_esEs5(zu31100, zu4600, bdg, bdh)
new_sr(Pos(zu3110000), Neg(zu460000)) → Neg(new_primMulNat0(zu3110000, zu460000))
new_sr(Neg(zu3110000), Pos(zu460000)) → Neg(new_primMulNat0(zu3110000, zu460000))
new_esEs25(zu311001, zu46001, app(app(ty_Either, bff), bfg)) → new_esEs15(zu311001, zu46001, bff, bfg)
new_esEs15(Left(zu311000), Left(zu46000), ty_Int, cc) → new_esEs9(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), app(ty_[], bae), cc) → new_esEs13(zu311000, zu46000, bae)
new_esEs6(zu311001, zu46001, ty_Ordering) → new_esEs19(zu311001, zu46001)
new_esEs19(LT, GT) → False
new_esEs19(GT, LT) → False
new_esEs24(zu311002, zu46002, app(app(ty_@2, bfa), bfb)) → new_esEs5(zu311002, zu46002, bfa, bfb)
new_esEs12(Just(zu311000), Just(zu46000), app(app(ty_Either, hd), he)) → new_esEs15(zu311000, zu46000, hd, he)
new_esEs15(Left(zu311000), Left(zu46000), ty_Char, cc) → new_esEs18(zu311000, zu46000)
new_esEs6(zu311001, zu46001, ty_Bool) → new_esEs11(zu311001, zu46001)
new_esEs25(zu311001, zu46001, ty_Double) → new_esEs14(zu311001, zu46001)
new_esEs27(zu31100, zu4600, ty_Bool) → new_esEs11(zu31100, zu4600)
new_esEs28(zu31100, zu4600, ty_Double) → new_esEs14(zu31100, zu4600)
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), app(app(app(ty_@3, hf), hg), hh)) → new_esEs17(zu311000, zu46000, hf, hg, hh)
new_esEs28(zu31100, zu4600, ty_Ordering) → new_esEs19(zu31100, zu4600)
new_esEs27(zu31100, zu4600, ty_Double) → new_esEs14(zu31100, zu4600)
new_esEs21(zu311000, zu46000, app(ty_Ratio, fg)) → new_esEs10(zu311000, zu46000, fg)
new_esEs26(zu311000, zu46000, app(app(app(ty_@3, bhb), bhc), bhd)) → new_esEs17(zu311000, zu46000, bhb, bhc, bhd)
new_primEqNat0(Zero, Succ(zu460000)) → False
new_primEqNat0(Succ(zu3110000), Zero) → False
new_esEs21(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), app(app(ty_@2, bbc), bbd), cc) → new_esEs5(zu311000, zu46000, bbc, bbd)
new_esEs7(zu311000, zu46000, ty_Float) → new_esEs16(zu311000, zu46000)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs19(GT, GT) → True
new_esEs20(@0, @0) → True
new_esEs14(Double(zu311000, zu311001), Double(zu46000, zu46001)) → new_esEs9(new_sr(zu311000, zu46000), new_sr(zu311001, zu46001))
new_esEs12(Just(zu311000), Just(zu46000), ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs27(zu31100, zu4600, app(app(ty_@2, cg), da)) → new_esEs5(zu31100, zu4600, cg, da)
new_esEs22(zu311001, zu46001, ty_Int) → new_esEs9(zu311001, zu46001)
new_esEs21(zu311000, zu46000, app(ty_Maybe, fh)) → new_esEs12(zu311000, zu46000, fh)
new_esEs24(zu311002, zu46002, ty_Int) → new_esEs9(zu311002, zu46002)
new_esEs27(zu31100, zu4600, app(ty_Ratio, bg)) → new_esEs10(zu31100, zu4600, bg)
new_esEs28(zu31100, zu4600, ty_@0) → new_esEs20(zu31100, zu4600)
new_esEs12(Just(zu311000), Just(zu46000), ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), ty_Ordering, cc) → new_esEs19(zu311000, zu46000)
new_esEs25(zu311001, zu46001, ty_Ordering) → new_esEs19(zu311001, zu46001)
new_esEs11(True, False) → False
new_esEs11(False, True) → False
new_esEs12(Just(zu311000), Just(zu46000), app(ty_[], hc)) → new_esEs13(zu311000, zu46000, hc)
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs27(zu31100, zu4600, app(app(app(ty_@3, cd), ce), cf)) → new_esEs17(zu31100, zu4600, cd, ce, cf)
new_esEs6(zu311001, zu46001, app(app(ty_@2, eb), ec)) → new_esEs5(zu311001, zu46001, eb, ec)
new_esEs27(zu31100, zu4600, ty_Int) → new_esEs9(zu31100, zu4600)
new_esEs19(LT, LT) → True
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs23(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs19(EQ, GT) → False
new_esEs19(GT, EQ) → False
new_esEs21(zu311000, zu46000, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs21(zu311000, zu46000, app(app(app(ty_@3, gd), ge), gf)) → new_esEs17(zu311000, zu46000, gd, ge, gf)
new_esEs26(zu311000, zu46000, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs13(:(zu311000, zu311001), :(zu46000, zu46001), ca) → new_asAs(new_esEs21(zu311000, zu46000, ca), new_esEs13(zu311001, zu46001, ca))
new_sr(Neg(zu3110000), Neg(zu460000)) → Pos(new_primMulNat0(zu3110000, zu460000))
new_esEs28(zu31100, zu4600, ty_Bool) → new_esEs11(zu31100, zu4600)
new_esEs15(Left(zu311000), Left(zu46000), ty_Bool, cc) → new_esEs11(zu311000, zu46000)
new_esEs12(Nothing, Just(zu46000), bh) → False
new_esEs12(Just(zu311000), Nothing, bh) → False
new_sr(Pos(zu3110000), Pos(zu460000)) → Pos(new_primMulNat0(zu3110000, zu460000))
new_asAs(False, zu79) → False
new_esEs27(zu31100, zu4600, app(ty_Maybe, bh)) → new_esEs12(zu31100, zu4600, bh)
new_primEqNat0(Zero, Zero) → True
new_esEs6(zu311001, zu46001, app(ty_Maybe, dc)) → new_esEs12(zu311001, zu46001, dc)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(app(app(ty_@3, bcb), bcc), bcd)) → new_esEs17(zu311000, zu46000, bcb, bcc, bcd)
new_esEs13([], :(zu46000, zu46001), ca) → False
new_esEs13(:(zu311000, zu311001), [], ca) → False
new_primMulNat0(Succ(zu31100000), Zero) → Zero
new_primMulNat0(Zero, Succ(zu4600000)) → Zero
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs25(zu311001, zu46001, ty_Integer) → new_esEs8(zu311001, zu46001)
new_esEs15(Left(zu311000), Left(zu46000), app(ty_Maybe, bad), cc) → new_esEs12(zu311000, zu46000, bad)
new_esEs25(zu311001, zu46001, app(app(app(ty_@3, bfh), bga), bgb)) → new_esEs17(zu311001, zu46001, bfh, bga, bgb)
new_esEs23(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs12(Nothing, Nothing, bh) → True
new_esEs6(zu311001, zu46001, ty_Int) → new_esEs9(zu311001, zu46001)
new_esEs6(zu311001, zu46001, app(ty_[], dd)) → new_esEs13(zu311001, zu46001, dd)
new_esEs8(Integer(zu311000), Integer(zu46000)) → new_primEqInt(zu311000, zu46000)
new_esEs6(zu311001, zu46001, ty_Char) → new_esEs18(zu311001, zu46001)
new_esEs11(True, True) → True
new_esEs26(zu311000, zu46000, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs6(zu311001, zu46001, ty_Double) → new_esEs14(zu311001, zu46001)
new_esEs24(zu311002, zu46002, app(ty_Ratio, bea)) → new_esEs10(zu311002, zu46002, bea)
new_esEs27(zu31100, zu4600, ty_@0) → new_esEs20(zu31100, zu4600)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(ty_[], bbg)) → new_esEs13(zu311000, zu46000, bbg)
new_esEs6(zu311001, zu46001, ty_Float) → new_esEs16(zu311001, zu46001)
new_primPlusNat0(Succ(zu800), zu4600000) → Succ(Succ(new_primPlusNat1(zu800, zu4600000)))
new_esEs7(zu311000, zu46000, ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs25(zu311001, zu46001, app(ty_[], bfe)) → new_esEs13(zu311001, zu46001, bfe)
new_esEs26(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs25(zu311001, zu46001, ty_Float) → new_esEs16(zu311001, zu46001)
new_esEs27(zu31100, zu4600, ty_Integer) → new_esEs8(zu31100, zu4600)
new_esEs21(zu311000, zu46000, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs25(zu311001, zu46001, app(ty_Maybe, bfd)) → new_esEs12(zu311001, zu46001, bfd)
new_esEs15(Left(zu311000), Left(zu46000), ty_@0, cc) → new_esEs20(zu311000, zu46000)
new_esEs28(zu31100, zu4600, ty_Float) → new_esEs16(zu31100, zu4600)
new_esEs12(Just(zu311000), Just(zu46000), ty_Char) → new_esEs18(zu311000, zu46000)
new_primEqInt(Neg(Succ(zu3110000)), Neg(Succ(zu460000))) → new_primEqNat0(zu3110000, zu460000)
new_esEs6(zu311001, zu46001, app(app(ty_Either, de), df)) → new_esEs15(zu311001, zu46001, de, df)
new_esEs25(zu311001, zu46001, ty_Bool) → new_esEs11(zu311001, zu46001)
new_esEs26(zu311000, zu46000, app(ty_[], bgg)) → new_esEs13(zu311000, zu46000, bgg)
new_esEs19(EQ, EQ) → True
new_esEs24(zu311002, zu46002, app(ty_Maybe, beb)) → new_esEs12(zu311002, zu46002, beb)
new_primPlusNat1(Succ(zu8000), Zero) → Succ(zu8000)
new_primPlusNat1(Zero, Succ(zu46000000)) → Succ(zu46000000)
new_esEs25(zu311001, zu46001, app(ty_Ratio, bfc)) → new_esEs10(zu311001, zu46001, bfc)
new_esEs28(zu31100, zu4600, app(app(ty_Either, bdb), bdc)) → new_esEs15(zu31100, zu4600, bdb, bdc)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(app(ty_@2, bce), bcf)) → new_esEs5(zu311000, zu46000, bce, bcf)
new_esEs28(zu31100, zu4600, app(app(app(ty_@3, bdd), bde), bdf)) → new_esEs17(zu31100, zu4600, bdd, bde, bdf)
new_esEs25(zu311001, zu46001, app(app(ty_@2, bgc), bgd)) → new_esEs5(zu311001, zu46001, bgc, bgd)
new_esEs15(Left(zu311000), Left(zu46000), ty_Float, cc) → new_esEs16(zu311000, zu46000)
new_esEs25(zu311001, zu46001, ty_Char) → new_esEs18(zu311001, zu46001)
new_esEs7(zu311000, zu46000, app(ty_[], ef)) → new_esEs13(zu311000, zu46000, ef)
new_esEs21(zu311000, zu46000, ty_Double) → new_esEs14(zu311000, zu46000)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs7(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs28(zu31100, zu4600, ty_Int) → new_esEs9(zu31100, zu4600)
new_esEs7(zu311000, zu46000, app(app(ty_Either, eg), eh)) → new_esEs15(zu311000, zu46000, eg, eh)
new_primEqInt(Neg(Zero), Neg(Succ(zu460000))) → False
new_primEqInt(Neg(Succ(zu3110000)), Neg(Zero)) → False
new_esEs22(zu311001, zu46001, ty_Integer) → new_esEs8(zu311001, zu46001)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(ty_Maybe, bbf)) → new_esEs12(zu311000, zu46000, bbf)
new_esEs26(zu311000, zu46000, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), app(ty_Maybe, hb)) → new_esEs12(zu311000, zu46000, hb)
new_esEs7(zu311000, zu46000, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_primPlusNat1(Zero, Zero) → Zero
new_esEs7(zu311000, zu46000, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs24(zu311002, zu46002, ty_Float) → new_esEs16(zu311002, zu46002)
new_esEs7(zu311000, zu46000, ty_@0) → new_esEs20(zu311000, zu46000)
new_asAs(True, zu79) → zu79
new_esEs15(Left(zu311000), Left(zu46000), ty_Double, cc) → new_esEs14(zu311000, zu46000)
new_esEs24(zu311002, zu46002, app(app(ty_Either, bed), bee)) → new_esEs15(zu311002, zu46002, bed, bee)
new_esEs21(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs27(zu31100, zu4600, ty_Float) → new_esEs16(zu31100, zu4600)
new_primMulNat0(Succ(zu31100000), Succ(zu4600000)) → new_primPlusNat0(new_primMulNat0(zu31100000, Succ(zu4600000)), zu4600000)
new_esEs27(zu31100, zu4600, app(ty_[], ca)) → new_esEs13(zu31100, zu4600, ca)
new_esEs19(LT, EQ) → False
new_esEs19(EQ, LT) → False
new_esEs28(zu31100, zu4600, app(ty_Maybe, bch)) → new_esEs12(zu31100, zu4600, bch)
new_esEs11(False, False) → True
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs28(zu31100, zu4600, ty_Integer) → new_esEs8(zu31100, zu4600)
new_primEqInt(Pos(Succ(zu3110000)), Pos(Succ(zu460000))) → new_primEqNat0(zu3110000, zu460000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs25(zu311001, zu46001, ty_Int) → new_esEs9(zu311001, zu46001)
new_primEqNat0(Succ(zu3110000), Succ(zu460000)) → new_primEqNat0(zu3110000, zu460000)
new_esEs9(zu31100, zu4600) → new_primEqInt(zu31100, zu4600)
new_esEs27(zu31100, zu4600, ty_Char) → new_esEs18(zu31100, zu4600)
new_esEs26(zu311000, zu46000, ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs28(zu31100, zu4600, ty_Char) → new_esEs18(zu31100, zu4600)
new_esEs25(zu311001, zu46001, ty_@0) → new_esEs20(zu311001, zu46001)
new_esEs24(zu311002, zu46002, ty_Bool) → new_esEs11(zu311002, zu46002)
new_esEs27(zu31100, zu4600, app(app(ty_Either, cb), cc)) → new_esEs15(zu31100, zu4600, cb, cc)
new_esEs21(zu311000, zu46000, ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs24(zu311002, zu46002, ty_Char) → new_esEs18(zu311002, zu46002)
new_primEqInt(Pos(Zero), Pos(Succ(zu460000))) → False
new_primEqInt(Pos(Succ(zu3110000)), Pos(Zero)) → False
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs26(zu311000, zu46000, app(app(ty_Either, bgh), bha)) → new_esEs15(zu311000, zu46000, bgh, bha)
new_esEs24(zu311002, zu46002, ty_@0) → new_esEs20(zu311002, zu46002)
new_esEs24(zu311002, zu46002, ty_Double) → new_esEs14(zu311002, zu46002)

The set Q consists of the following terms:

new_esEs28(x0, x1, ty_Int)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(x0, x1, ty_Int)
new_esEs12(Just(x0), Just(x1), ty_Integer)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_esEs11(True, True)
new_esEs7(x0, x1, ty_@0)
new_esEs21(x0, x1, ty_Integer)
new_esEs21(x0, x1, ty_Bool)
new_esEs15(Right(x0), Right(x1), x2, ty_Int)
new_esEs26(x0, x1, ty_Int)
new_esEs26(x0, x1, ty_@0)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_esEs12(Just(x0), Just(x1), ty_Bool)
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Double)
new_esEs27(x0, x1, ty_Ordering)
new_esEs27(x0, x1, ty_@0)
new_primPlusNat0(Succ(x0), x1)
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_asAs(False, x0)
new_esEs16(Float(x0, x1), Float(x2, x3))
new_esEs7(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_@0)
new_esEs6(x0, x1, app(ty_Ratio, x2))
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primPlusNat1(Succ(x0), Zero)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs6(x0, x1, ty_Double)
new_sr(Pos(x0), Pos(x1))
new_esEs28(x0, x1, app(ty_[], x2))
new_esEs12(Just(x0), Just(x1), ty_Int)
new_esEs7(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Double)
new_esEs15(Right(x0), Right(x1), x2, ty_@0)
new_esEs11(True, False)
new_esEs11(False, True)
new_esEs7(x0, x1, ty_Char)
new_esEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Char)
new_esEs17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs15(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs12(Nothing, Nothing, x0)
new_esEs25(x0, x1, ty_Ordering)
new_esEs6(x0, x1, ty_Integer)
new_esEs6(x0, x1, ty_Ordering)
new_esEs26(x0, x1, ty_Bool)
new_esEs13(:(x0, x1), :(x2, x3), x4)
new_esEs24(x0, x1, ty_@0)
new_esEs6(x0, x1, ty_Char)
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_primEqNat0(Succ(x0), Succ(x1))
new_primMulNat0(Zero, Succ(x0))
new_esEs15(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs15(Left(x0), Left(x1), ty_@0, x2)
new_esEs15(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs27(x0, x1, ty_Int)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_asAs(True, x0)
new_sr(Pos(x0), Neg(x1))
new_sr(Neg(x0), Pos(x1))
new_esEs6(x0, x1, app(ty_Maybe, x2))
new_esEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Float)
new_esEs15(Left(x0), Left(x1), ty_Double, x2)
new_esEs27(x0, x1, ty_Integer)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs15(Right(x0), Right(x1), x2, ty_Bool)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs12(Just(x0), Just(x1), ty_Double)
new_esEs28(x0, x1, ty_Double)
new_esEs15(Right(x0), Right(x1), x2, ty_Integer)
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs21(x0, x1, app(ty_[], x2))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs15(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs28(x0, x1, ty_Bool)
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_esEs15(Left(x0), Left(x1), ty_Int, x2)
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_Integer)
new_primEqNat0(Zero, Zero)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_sr(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs15(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, ty_Char)
new_esEs28(x0, x1, ty_Integer)
new_esEs19(GT, GT)
new_esEs6(x0, x1, ty_@0)
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_esEs28(x0, x1, ty_@0)
new_esEs15(Right(x0), Right(x1), x2, ty_Char)
new_esEs27(x0, x1, ty_Float)
new_esEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs5(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs12(Just(x0), Just(x1), ty_Char)
new_esEs28(x0, x1, ty_Float)
new_primMulNat0(Zero, Zero)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs19(EQ, EQ)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs6(x0, x1, ty_Bool)
new_esEs15(Left(x0), Right(x1), x2, x3)
new_esEs15(Right(x0), Left(x1), x2, x3)
new_esEs15(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs6(x0, x1, ty_Int)
new_esEs24(x0, x1, ty_Bool)
new_esEs15(Right(x0), Right(x1), x2, ty_Float)
new_primEqNat0(Succ(x0), Zero)
new_esEs26(x0, x1, ty_Char)
new_esEs19(LT, EQ)
new_esEs19(EQ, LT)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs12(Just(x0), Nothing, x1)
new_esEs13(:(x0, x1), [], x2)
new_esEs7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(x0, x1, app(ty_[], x2))
new_esEs12(Nothing, Just(x0), x1)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs21(x0, x1, ty_Char)
new_esEs19(LT, GT)
new_esEs19(GT, LT)
new_esEs6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs13([], :(x0, x1), x2)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs19(LT, LT)
new_esEs21(x0, x1, ty_Int)
new_esEs24(x0, x1, ty_Char)
new_esEs19(GT, EQ)
new_esEs19(EQ, GT)
new_esEs15(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs26(x0, x1, ty_Double)
new_primMulNat0(Succ(x0), Zero)
new_esEs21(x0, x1, ty_Ordering)
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(x0, x1, app(app(ty_@2, x2), x3))
new_primEqNat0(Zero, Succ(x0))
new_esEs12(Just(x0), Just(x1), ty_Ordering)
new_esEs9(x0, x1)
new_esEs24(x0, x1, app(ty_[], x2))
new_esEs7(x0, x1, ty_Ordering)
new_primPlusNat1(Succ(x0), Succ(x1))
new_esEs26(x0, x1, ty_Integer)
new_esEs12(Just(x0), Just(x1), app(ty_[], x2))
new_esEs15(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(x0, x1, app(ty_Ratio, x2))
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs20(@0, @0)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs15(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs11(False, False)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs7(x0, x1, ty_Integer)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_Int)
new_esEs25(x0, x1, ty_Integer)
new_esEs15(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs26(x0, x1, ty_Float)
new_esEs12(Just(x0), Just(x1), ty_Float)
new_esEs15(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs25(x0, x1, ty_Double)
new_esEs15(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs22(x0, x1, ty_Int)
new_esEs25(x0, x1, ty_@0)
new_esEs15(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, ty_Ordering)
new_esEs25(x0, x1, ty_Float)
new_esEs8(Integer(x0), Integer(x1))
new_esEs24(x0, x1, ty_Integer)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_primPlusNat1(Zero, Zero)
new_esEs7(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Int)
new_esEs6(x0, x1, app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, ty_Ordering)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs24(x0, x1, ty_Float)
new_esEs7(x0, x1, ty_Float)
new_esEs22(x0, x1, ty_Integer)
new_esEs15(Left(x0), Left(x1), ty_Bool, x2)
new_esEs15(Left(x0), Left(x1), ty_Char, x2)
new_primEqInt(Pos(Zero), Pos(Zero))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs18(Char(x0), Char(x1))
new_esEs25(x0, x1, ty_Char)
new_esEs13([], [], x0)
new_primPlusNat0(Zero, x0)
new_esEs25(x0, x1, ty_Bool)
new_esEs10(:%(x0, x1), :%(x2, x3), x4)
new_esEs6(x0, x1, app(ty_[], x2))
new_esEs15(Right(x0), Right(x1), x2, ty_Double)
new_esEs6(x0, x1, ty_Float)
new_esEs24(x0, x1, ty_Double)
new_esEs14(Double(x0, x1), Double(x2, x3))
new_esEs15(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs24(x0, x1, ty_Ordering)
new_esEs24(x0, x1, ty_Int)
new_esEs12(Just(x0), Just(x1), ty_@0)
new_esEs15(Left(x0), Left(x1), ty_Float, x2)
new_esEs15(Left(x0), Left(x1), ty_Integer, x2)
new_esEs6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))

We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 2 SCCs.

↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                        ↳ DependencyGraphProof
                          ↳ AND
QDP
                              ↳ UsableRulesProof
                            ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_deleteBy0(zu53, zu54, zu55, False, ba, bb) → new_deleteBy(Left(zu55), zu53, ba, bb)
new_deleteBy(Left(zu31100), :(Left(zu4600), zu461), bc, bd) → new_deleteBy0(zu461, zu4600, zu31100, new_esEs27(zu31100, zu4600, bc), bc, bd)
new_deleteBy(Left(zu31100), :(Right(zu4600), zu461), bc, bd) → new_deleteBy(Left(zu31100), zu461, bc, bd)

The TRS R consists of the following rules:

new_esEs15(Left(zu311000), Left(zu46000), app(app(app(ty_@3, bah), bba), bbb), cc) → new_esEs17(zu311000, zu46000, bah, bba, bbb)
new_esEs28(zu31100, zu4600, app(ty_[], bda)) → new_esEs13(zu31100, zu4600, bda)
new_esEs6(zu311001, zu46001, ty_@0) → new_esEs20(zu311001, zu46001)
new_esEs18(Char(zu311000), Char(zu46000)) → new_primEqNat0(zu311000, zu46000)
new_primPlusNat1(Succ(zu8000), Succ(zu46000000)) → Succ(Succ(new_primPlusNat1(zu8000, zu46000000)))
new_primEqInt(Neg(Succ(zu3110000)), Pos(zu46000)) → False
new_primEqInt(Pos(Succ(zu3110000)), Neg(zu46000)) → False
new_esEs7(zu311000, zu46000, app(ty_Maybe, ee)) → new_esEs12(zu311000, zu46000, ee)
new_esEs15(Right(zu311000), Left(zu46000), cb, cc) → False
new_esEs15(Left(zu311000), Right(zu46000), cb, cc) → False
new_esEs13([], [], ca) → True
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs7(zu311000, zu46000, app(app(app(ty_@3, fa), fb), fc)) → new_esEs17(zu311000, zu46000, fa, fb, fc)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(app(ty_Either, bbh), bca)) → new_esEs15(zu311000, zu46000, bbh, bca)
new_esEs24(zu311002, zu46002, app(ty_[], bec)) → new_esEs13(zu311002, zu46002, bec)
new_esEs26(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs26(zu311000, zu46000, ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs21(zu311000, zu46000, app(ty_[], ga)) → new_esEs13(zu311000, zu46000, ga)
new_esEs12(Just(zu311000), Just(zu46000), app(ty_Ratio, ha)) → new_esEs10(zu311000, zu46000, ha)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(ty_Ratio, bbe)) → new_esEs10(zu311000, zu46000, bbe)
new_primEqInt(Neg(Zero), Pos(Succ(zu460000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(zu460000))) → False
new_esEs17(@3(zu311000, zu311001, zu311002), @3(zu46000, zu46001, zu46002), cd, ce, cf) → new_asAs(new_esEs26(zu311000, zu46000, cd), new_asAs(new_esEs25(zu311001, zu46001, ce), new_esEs24(zu311002, zu46002, cf)))
new_esEs7(zu311000, zu46000, app(ty_Ratio, ed)) → new_esEs10(zu311000, zu46000, ed)
new_esEs7(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs27(zu31100, zu4600, ty_Ordering) → new_esEs19(zu31100, zu4600)
new_esEs15(Left(zu311000), Left(zu46000), app(app(ty_Either, baf), bag), cc) → new_esEs15(zu311000, zu46000, baf, bag)
new_esEs7(zu311000, zu46000, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), app(app(ty_@2, baa), bab)) → new_esEs5(zu311000, zu46000, baa, bab)
new_esEs26(zu311000, zu46000, app(ty_Maybe, bgf)) → new_esEs12(zu311000, zu46000, bgf)
new_esEs15(Left(zu311000), Left(zu46000), ty_Integer, cc) → new_esEs8(zu311000, zu46000)
new_esEs16(Float(zu311000, zu311001), Float(zu46000, zu46001)) → new_esEs9(new_sr(zu311000, zu46000), new_sr(zu311001, zu46001))
new_esEs6(zu311001, zu46001, ty_Integer) → new_esEs8(zu311001, zu46001)
new_primMulNat0(Zero, Zero) → Zero
new_esEs21(zu311000, zu46000, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs26(zu311000, zu46000, app(app(ty_@2, bhe), bhf)) → new_esEs5(zu311000, zu46000, bhe, bhf)
new_esEs26(zu311000, zu46000, ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs21(zu311000, zu46000, app(app(ty_@2, gg), gh)) → new_esEs5(zu311000, zu46000, gg, gh)
new_esEs26(zu311000, zu46000, app(ty_Ratio, bge)) → new_esEs10(zu311000, zu46000, bge)
new_esEs28(zu31100, zu4600, app(ty_Ratio, bcg)) → new_esEs10(zu31100, zu4600, bcg)
new_esEs6(zu311001, zu46001, app(ty_Ratio, db)) → new_esEs10(zu311001, zu46001, db)
new_esEs21(zu311000, zu46000, app(app(ty_Either, gb), gc)) → new_esEs15(zu311000, zu46000, gb, gc)
new_esEs10(:%(zu311000, zu311001), :%(zu46000, zu46001), bg) → new_asAs(new_esEs23(zu311000, zu46000, bg), new_esEs22(zu311001, zu46001, bg))
new_esEs24(zu311002, zu46002, app(app(app(ty_@3, bef), beg), beh)) → new_esEs17(zu311002, zu46002, bef, beg, beh)
new_primPlusNat0(Zero, zu4600000) → Succ(zu4600000)
new_esEs5(@2(zu311000, zu311001), @2(zu46000, zu46001), cg, da) → new_asAs(new_esEs7(zu311000, zu46000, cg), new_esEs6(zu311001, zu46001, da))
new_esEs21(zu311000, zu46000, ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs7(zu311000, zu46000, app(app(ty_@2, fd), ff)) → new_esEs5(zu311000, zu46000, fd, ff)
new_esEs6(zu311001, zu46001, app(app(app(ty_@3, dg), dh), ea)) → new_esEs17(zu311001, zu46001, dg, dh, ea)
new_esEs24(zu311002, zu46002, ty_Ordering) → new_esEs19(zu311002, zu46002)
new_esEs24(zu311002, zu46002, ty_Integer) → new_esEs8(zu311002, zu46002)
new_esEs12(Just(zu311000), Just(zu46000), ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), app(ty_Ratio, bac), cc) → new_esEs10(zu311000, zu46000, bac)
new_esEs28(zu31100, zu4600, app(app(ty_@2, bdg), bdh)) → new_esEs5(zu31100, zu4600, bdg, bdh)
new_sr(Pos(zu3110000), Neg(zu460000)) → Neg(new_primMulNat0(zu3110000, zu460000))
new_sr(Neg(zu3110000), Pos(zu460000)) → Neg(new_primMulNat0(zu3110000, zu460000))
new_esEs25(zu311001, zu46001, app(app(ty_Either, bff), bfg)) → new_esEs15(zu311001, zu46001, bff, bfg)
new_esEs15(Left(zu311000), Left(zu46000), ty_Int, cc) → new_esEs9(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), app(ty_[], bae), cc) → new_esEs13(zu311000, zu46000, bae)
new_esEs6(zu311001, zu46001, ty_Ordering) → new_esEs19(zu311001, zu46001)
new_esEs19(LT, GT) → False
new_esEs19(GT, LT) → False
new_esEs24(zu311002, zu46002, app(app(ty_@2, bfa), bfb)) → new_esEs5(zu311002, zu46002, bfa, bfb)
new_esEs12(Just(zu311000), Just(zu46000), app(app(ty_Either, hd), he)) → new_esEs15(zu311000, zu46000, hd, he)
new_esEs15(Left(zu311000), Left(zu46000), ty_Char, cc) → new_esEs18(zu311000, zu46000)
new_esEs6(zu311001, zu46001, ty_Bool) → new_esEs11(zu311001, zu46001)
new_esEs25(zu311001, zu46001, ty_Double) → new_esEs14(zu311001, zu46001)
new_esEs27(zu31100, zu4600, ty_Bool) → new_esEs11(zu31100, zu4600)
new_esEs28(zu31100, zu4600, ty_Double) → new_esEs14(zu31100, zu4600)
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), app(app(app(ty_@3, hf), hg), hh)) → new_esEs17(zu311000, zu46000, hf, hg, hh)
new_esEs28(zu31100, zu4600, ty_Ordering) → new_esEs19(zu31100, zu4600)
new_esEs27(zu31100, zu4600, ty_Double) → new_esEs14(zu31100, zu4600)
new_esEs21(zu311000, zu46000, app(ty_Ratio, fg)) → new_esEs10(zu311000, zu46000, fg)
new_esEs26(zu311000, zu46000, app(app(app(ty_@3, bhb), bhc), bhd)) → new_esEs17(zu311000, zu46000, bhb, bhc, bhd)
new_primEqNat0(Zero, Succ(zu460000)) → False
new_primEqNat0(Succ(zu3110000), Zero) → False
new_esEs21(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), app(app(ty_@2, bbc), bbd), cc) → new_esEs5(zu311000, zu46000, bbc, bbd)
new_esEs7(zu311000, zu46000, ty_Float) → new_esEs16(zu311000, zu46000)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs19(GT, GT) → True
new_esEs20(@0, @0) → True
new_esEs14(Double(zu311000, zu311001), Double(zu46000, zu46001)) → new_esEs9(new_sr(zu311000, zu46000), new_sr(zu311001, zu46001))
new_esEs12(Just(zu311000), Just(zu46000), ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs27(zu31100, zu4600, app(app(ty_@2, cg), da)) → new_esEs5(zu31100, zu4600, cg, da)
new_esEs22(zu311001, zu46001, ty_Int) → new_esEs9(zu311001, zu46001)
new_esEs21(zu311000, zu46000, app(ty_Maybe, fh)) → new_esEs12(zu311000, zu46000, fh)
new_esEs24(zu311002, zu46002, ty_Int) → new_esEs9(zu311002, zu46002)
new_esEs27(zu31100, zu4600, app(ty_Ratio, bg)) → new_esEs10(zu31100, zu4600, bg)
new_esEs28(zu31100, zu4600, ty_@0) → new_esEs20(zu31100, zu4600)
new_esEs12(Just(zu311000), Just(zu46000), ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), ty_Ordering, cc) → new_esEs19(zu311000, zu46000)
new_esEs25(zu311001, zu46001, ty_Ordering) → new_esEs19(zu311001, zu46001)
new_esEs11(True, False) → False
new_esEs11(False, True) → False
new_esEs12(Just(zu311000), Just(zu46000), app(ty_[], hc)) → new_esEs13(zu311000, zu46000, hc)
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs27(zu31100, zu4600, app(app(app(ty_@3, cd), ce), cf)) → new_esEs17(zu31100, zu4600, cd, ce, cf)
new_esEs6(zu311001, zu46001, app(app(ty_@2, eb), ec)) → new_esEs5(zu311001, zu46001, eb, ec)
new_esEs27(zu31100, zu4600, ty_Int) → new_esEs9(zu31100, zu4600)
new_esEs19(LT, LT) → True
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs23(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs19(EQ, GT) → False
new_esEs19(GT, EQ) → False
new_esEs21(zu311000, zu46000, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs21(zu311000, zu46000, app(app(app(ty_@3, gd), ge), gf)) → new_esEs17(zu311000, zu46000, gd, ge, gf)
new_esEs26(zu311000, zu46000, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs13(:(zu311000, zu311001), :(zu46000, zu46001), ca) → new_asAs(new_esEs21(zu311000, zu46000, ca), new_esEs13(zu311001, zu46001, ca))
new_sr(Neg(zu3110000), Neg(zu460000)) → Pos(new_primMulNat0(zu3110000, zu460000))
new_esEs28(zu31100, zu4600, ty_Bool) → new_esEs11(zu31100, zu4600)
new_esEs15(Left(zu311000), Left(zu46000), ty_Bool, cc) → new_esEs11(zu311000, zu46000)
new_esEs12(Nothing, Just(zu46000), bh) → False
new_esEs12(Just(zu311000), Nothing, bh) → False
new_sr(Pos(zu3110000), Pos(zu460000)) → Pos(new_primMulNat0(zu3110000, zu460000))
new_asAs(False, zu79) → False
new_esEs27(zu31100, zu4600, app(ty_Maybe, bh)) → new_esEs12(zu31100, zu4600, bh)
new_primEqNat0(Zero, Zero) → True
new_esEs6(zu311001, zu46001, app(ty_Maybe, dc)) → new_esEs12(zu311001, zu46001, dc)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(app(app(ty_@3, bcb), bcc), bcd)) → new_esEs17(zu311000, zu46000, bcb, bcc, bcd)
new_esEs13([], :(zu46000, zu46001), ca) → False
new_esEs13(:(zu311000, zu311001), [], ca) → False
new_primMulNat0(Succ(zu31100000), Zero) → Zero
new_primMulNat0(Zero, Succ(zu4600000)) → Zero
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs25(zu311001, zu46001, ty_Integer) → new_esEs8(zu311001, zu46001)
new_esEs15(Left(zu311000), Left(zu46000), app(ty_Maybe, bad), cc) → new_esEs12(zu311000, zu46000, bad)
new_esEs25(zu311001, zu46001, app(app(app(ty_@3, bfh), bga), bgb)) → new_esEs17(zu311001, zu46001, bfh, bga, bgb)
new_esEs23(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs12(Nothing, Nothing, bh) → True
new_esEs6(zu311001, zu46001, ty_Int) → new_esEs9(zu311001, zu46001)
new_esEs6(zu311001, zu46001, app(ty_[], dd)) → new_esEs13(zu311001, zu46001, dd)
new_esEs8(Integer(zu311000), Integer(zu46000)) → new_primEqInt(zu311000, zu46000)
new_esEs6(zu311001, zu46001, ty_Char) → new_esEs18(zu311001, zu46001)
new_esEs11(True, True) → True
new_esEs26(zu311000, zu46000, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs6(zu311001, zu46001, ty_Double) → new_esEs14(zu311001, zu46001)
new_esEs24(zu311002, zu46002, app(ty_Ratio, bea)) → new_esEs10(zu311002, zu46002, bea)
new_esEs27(zu31100, zu4600, ty_@0) → new_esEs20(zu31100, zu4600)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(ty_[], bbg)) → new_esEs13(zu311000, zu46000, bbg)
new_esEs6(zu311001, zu46001, ty_Float) → new_esEs16(zu311001, zu46001)
new_primPlusNat0(Succ(zu800), zu4600000) → Succ(Succ(new_primPlusNat1(zu800, zu4600000)))
new_esEs7(zu311000, zu46000, ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs25(zu311001, zu46001, app(ty_[], bfe)) → new_esEs13(zu311001, zu46001, bfe)
new_esEs26(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs25(zu311001, zu46001, ty_Float) → new_esEs16(zu311001, zu46001)
new_esEs27(zu31100, zu4600, ty_Integer) → new_esEs8(zu31100, zu4600)
new_esEs21(zu311000, zu46000, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs25(zu311001, zu46001, app(ty_Maybe, bfd)) → new_esEs12(zu311001, zu46001, bfd)
new_esEs15(Left(zu311000), Left(zu46000), ty_@0, cc) → new_esEs20(zu311000, zu46000)
new_esEs28(zu31100, zu4600, ty_Float) → new_esEs16(zu31100, zu4600)
new_esEs12(Just(zu311000), Just(zu46000), ty_Char) → new_esEs18(zu311000, zu46000)
new_primEqInt(Neg(Succ(zu3110000)), Neg(Succ(zu460000))) → new_primEqNat0(zu3110000, zu460000)
new_esEs6(zu311001, zu46001, app(app(ty_Either, de), df)) → new_esEs15(zu311001, zu46001, de, df)
new_esEs25(zu311001, zu46001, ty_Bool) → new_esEs11(zu311001, zu46001)
new_esEs26(zu311000, zu46000, app(ty_[], bgg)) → new_esEs13(zu311000, zu46000, bgg)
new_esEs19(EQ, EQ) → True
new_esEs24(zu311002, zu46002, app(ty_Maybe, beb)) → new_esEs12(zu311002, zu46002, beb)
new_primPlusNat1(Succ(zu8000), Zero) → Succ(zu8000)
new_primPlusNat1(Zero, Succ(zu46000000)) → Succ(zu46000000)
new_esEs25(zu311001, zu46001, app(ty_Ratio, bfc)) → new_esEs10(zu311001, zu46001, bfc)
new_esEs28(zu31100, zu4600, app(app(ty_Either, bdb), bdc)) → new_esEs15(zu31100, zu4600, bdb, bdc)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(app(ty_@2, bce), bcf)) → new_esEs5(zu311000, zu46000, bce, bcf)
new_esEs28(zu31100, zu4600, app(app(app(ty_@3, bdd), bde), bdf)) → new_esEs17(zu31100, zu4600, bdd, bde, bdf)
new_esEs25(zu311001, zu46001, app(app(ty_@2, bgc), bgd)) → new_esEs5(zu311001, zu46001, bgc, bgd)
new_esEs15(Left(zu311000), Left(zu46000), ty_Float, cc) → new_esEs16(zu311000, zu46000)
new_esEs25(zu311001, zu46001, ty_Char) → new_esEs18(zu311001, zu46001)
new_esEs7(zu311000, zu46000, app(ty_[], ef)) → new_esEs13(zu311000, zu46000, ef)
new_esEs21(zu311000, zu46000, ty_Double) → new_esEs14(zu311000, zu46000)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs7(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs28(zu31100, zu4600, ty_Int) → new_esEs9(zu31100, zu4600)
new_esEs7(zu311000, zu46000, app(app(ty_Either, eg), eh)) → new_esEs15(zu311000, zu46000, eg, eh)
new_primEqInt(Neg(Zero), Neg(Succ(zu460000))) → False
new_primEqInt(Neg(Succ(zu3110000)), Neg(Zero)) → False
new_esEs22(zu311001, zu46001, ty_Integer) → new_esEs8(zu311001, zu46001)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(ty_Maybe, bbf)) → new_esEs12(zu311000, zu46000, bbf)
new_esEs26(zu311000, zu46000, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), app(ty_Maybe, hb)) → new_esEs12(zu311000, zu46000, hb)
new_esEs7(zu311000, zu46000, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_primPlusNat1(Zero, Zero) → Zero
new_esEs7(zu311000, zu46000, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs24(zu311002, zu46002, ty_Float) → new_esEs16(zu311002, zu46002)
new_esEs7(zu311000, zu46000, ty_@0) → new_esEs20(zu311000, zu46000)
new_asAs(True, zu79) → zu79
new_esEs15(Left(zu311000), Left(zu46000), ty_Double, cc) → new_esEs14(zu311000, zu46000)
new_esEs24(zu311002, zu46002, app(app(ty_Either, bed), bee)) → new_esEs15(zu311002, zu46002, bed, bee)
new_esEs21(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs27(zu31100, zu4600, ty_Float) → new_esEs16(zu31100, zu4600)
new_primMulNat0(Succ(zu31100000), Succ(zu4600000)) → new_primPlusNat0(new_primMulNat0(zu31100000, Succ(zu4600000)), zu4600000)
new_esEs27(zu31100, zu4600, app(ty_[], ca)) → new_esEs13(zu31100, zu4600, ca)
new_esEs19(LT, EQ) → False
new_esEs19(EQ, LT) → False
new_esEs28(zu31100, zu4600, app(ty_Maybe, bch)) → new_esEs12(zu31100, zu4600, bch)
new_esEs11(False, False) → True
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs28(zu31100, zu4600, ty_Integer) → new_esEs8(zu31100, zu4600)
new_primEqInt(Pos(Succ(zu3110000)), Pos(Succ(zu460000))) → new_primEqNat0(zu3110000, zu460000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs25(zu311001, zu46001, ty_Int) → new_esEs9(zu311001, zu46001)
new_primEqNat0(Succ(zu3110000), Succ(zu460000)) → new_primEqNat0(zu3110000, zu460000)
new_esEs9(zu31100, zu4600) → new_primEqInt(zu31100, zu4600)
new_esEs27(zu31100, zu4600, ty_Char) → new_esEs18(zu31100, zu4600)
new_esEs26(zu311000, zu46000, ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs28(zu31100, zu4600, ty_Char) → new_esEs18(zu31100, zu4600)
new_esEs25(zu311001, zu46001, ty_@0) → new_esEs20(zu311001, zu46001)
new_esEs24(zu311002, zu46002, ty_Bool) → new_esEs11(zu311002, zu46002)
new_esEs27(zu31100, zu4600, app(app(ty_Either, cb), cc)) → new_esEs15(zu31100, zu4600, cb, cc)
new_esEs21(zu311000, zu46000, ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs24(zu311002, zu46002, ty_Char) → new_esEs18(zu311002, zu46002)
new_primEqInt(Pos(Zero), Pos(Succ(zu460000))) → False
new_primEqInt(Pos(Succ(zu3110000)), Pos(Zero)) → False
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs26(zu311000, zu46000, app(app(ty_Either, bgh), bha)) → new_esEs15(zu311000, zu46000, bgh, bha)
new_esEs24(zu311002, zu46002, ty_@0) → new_esEs20(zu311002, zu46002)
new_esEs24(zu311002, zu46002, ty_Double) → new_esEs14(zu311002, zu46002)

The set Q consists of the following terms:

new_esEs28(x0, x1, ty_Int)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(x0, x1, ty_Int)
new_esEs12(Just(x0), Just(x1), ty_Integer)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_esEs11(True, True)
new_esEs7(x0, x1, ty_@0)
new_esEs21(x0, x1, ty_Integer)
new_esEs21(x0, x1, ty_Bool)
new_esEs15(Right(x0), Right(x1), x2, ty_Int)
new_esEs26(x0, x1, ty_Int)
new_esEs26(x0, x1, ty_@0)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_esEs12(Just(x0), Just(x1), ty_Bool)
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Double)
new_esEs27(x0, x1, ty_Ordering)
new_esEs27(x0, x1, ty_@0)
new_primPlusNat0(Succ(x0), x1)
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_asAs(False, x0)
new_esEs16(Float(x0, x1), Float(x2, x3))
new_esEs7(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_@0)
new_esEs6(x0, x1, app(ty_Ratio, x2))
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primPlusNat1(Succ(x0), Zero)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs6(x0, x1, ty_Double)
new_sr(Pos(x0), Pos(x1))
new_esEs28(x0, x1, app(ty_[], x2))
new_esEs12(Just(x0), Just(x1), ty_Int)
new_esEs7(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Double)
new_esEs15(Right(x0), Right(x1), x2, ty_@0)
new_esEs11(True, False)
new_esEs11(False, True)
new_esEs7(x0, x1, ty_Char)
new_esEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Char)
new_esEs17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs15(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs12(Nothing, Nothing, x0)
new_esEs25(x0, x1, ty_Ordering)
new_esEs6(x0, x1, ty_Integer)
new_esEs6(x0, x1, ty_Ordering)
new_esEs26(x0, x1, ty_Bool)
new_esEs13(:(x0, x1), :(x2, x3), x4)
new_esEs24(x0, x1, ty_@0)
new_esEs6(x0, x1, ty_Char)
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_primEqNat0(Succ(x0), Succ(x1))
new_primMulNat0(Zero, Succ(x0))
new_esEs15(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs15(Left(x0), Left(x1), ty_@0, x2)
new_esEs15(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs27(x0, x1, ty_Int)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_asAs(True, x0)
new_sr(Pos(x0), Neg(x1))
new_sr(Neg(x0), Pos(x1))
new_esEs6(x0, x1, app(ty_Maybe, x2))
new_esEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Float)
new_esEs15(Left(x0), Left(x1), ty_Double, x2)
new_esEs27(x0, x1, ty_Integer)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs15(Right(x0), Right(x1), x2, ty_Bool)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs12(Just(x0), Just(x1), ty_Double)
new_esEs28(x0, x1, ty_Double)
new_esEs15(Right(x0), Right(x1), x2, ty_Integer)
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs21(x0, x1, app(ty_[], x2))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs15(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs28(x0, x1, ty_Bool)
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_esEs15(Left(x0), Left(x1), ty_Int, x2)
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_Integer)
new_primEqNat0(Zero, Zero)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_sr(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs15(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, ty_Char)
new_esEs28(x0, x1, ty_Integer)
new_esEs19(GT, GT)
new_esEs6(x0, x1, ty_@0)
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_esEs28(x0, x1, ty_@0)
new_esEs15(Right(x0), Right(x1), x2, ty_Char)
new_esEs27(x0, x1, ty_Float)
new_esEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs5(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs12(Just(x0), Just(x1), ty_Char)
new_esEs28(x0, x1, ty_Float)
new_primMulNat0(Zero, Zero)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs19(EQ, EQ)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs6(x0, x1, ty_Bool)
new_esEs15(Left(x0), Right(x1), x2, x3)
new_esEs15(Right(x0), Left(x1), x2, x3)
new_esEs15(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs6(x0, x1, ty_Int)
new_esEs24(x0, x1, ty_Bool)
new_esEs15(Right(x0), Right(x1), x2, ty_Float)
new_primEqNat0(Succ(x0), Zero)
new_esEs26(x0, x1, ty_Char)
new_esEs19(LT, EQ)
new_esEs19(EQ, LT)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs12(Just(x0), Nothing, x1)
new_esEs13(:(x0, x1), [], x2)
new_esEs7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(x0, x1, app(ty_[], x2))
new_esEs12(Nothing, Just(x0), x1)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs21(x0, x1, ty_Char)
new_esEs19(LT, GT)
new_esEs19(GT, LT)
new_esEs6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs13([], :(x0, x1), x2)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs19(LT, LT)
new_esEs21(x0, x1, ty_Int)
new_esEs24(x0, x1, ty_Char)
new_esEs19(GT, EQ)
new_esEs19(EQ, GT)
new_esEs15(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs26(x0, x1, ty_Double)
new_primMulNat0(Succ(x0), Zero)
new_esEs21(x0, x1, ty_Ordering)
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(x0, x1, app(app(ty_@2, x2), x3))
new_primEqNat0(Zero, Succ(x0))
new_esEs12(Just(x0), Just(x1), ty_Ordering)
new_esEs9(x0, x1)
new_esEs24(x0, x1, app(ty_[], x2))
new_esEs7(x0, x1, ty_Ordering)
new_primPlusNat1(Succ(x0), Succ(x1))
new_esEs26(x0, x1, ty_Integer)
new_esEs12(Just(x0), Just(x1), app(ty_[], x2))
new_esEs15(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(x0, x1, app(ty_Ratio, x2))
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs20(@0, @0)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs15(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs11(False, False)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs7(x0, x1, ty_Integer)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_Int)
new_esEs25(x0, x1, ty_Integer)
new_esEs15(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs26(x0, x1, ty_Float)
new_esEs12(Just(x0), Just(x1), ty_Float)
new_esEs15(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs25(x0, x1, ty_Double)
new_esEs15(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs22(x0, x1, ty_Int)
new_esEs25(x0, x1, ty_@0)
new_esEs15(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, ty_Ordering)
new_esEs25(x0, x1, ty_Float)
new_esEs8(Integer(x0), Integer(x1))
new_esEs24(x0, x1, ty_Integer)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_primPlusNat1(Zero, Zero)
new_esEs7(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Int)
new_esEs6(x0, x1, app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, ty_Ordering)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs24(x0, x1, ty_Float)
new_esEs7(x0, x1, ty_Float)
new_esEs22(x0, x1, ty_Integer)
new_esEs15(Left(x0), Left(x1), ty_Bool, x2)
new_esEs15(Left(x0), Left(x1), ty_Char, x2)
new_primEqInt(Pos(Zero), Pos(Zero))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs18(Char(x0), Char(x1))
new_esEs25(x0, x1, ty_Char)
new_esEs13([], [], x0)
new_primPlusNat0(Zero, x0)
new_esEs25(x0, x1, ty_Bool)
new_esEs10(:%(x0, x1), :%(x2, x3), x4)
new_esEs6(x0, x1, app(ty_[], x2))
new_esEs15(Right(x0), Right(x1), x2, ty_Double)
new_esEs6(x0, x1, ty_Float)
new_esEs24(x0, x1, ty_Double)
new_esEs14(Double(x0, x1), Double(x2, x3))
new_esEs15(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs24(x0, x1, ty_Ordering)
new_esEs24(x0, x1, ty_Int)
new_esEs12(Just(x0), Just(x1), ty_@0)
new_esEs15(Left(x0), Left(x1), ty_Float, x2)
new_esEs15(Left(x0), Left(x1), ty_Integer, x2)
new_esEs6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                        ↳ DependencyGraphProof
                          ↳ AND
                            ↳ QDP
                              ↳ UsableRulesProof
QDP
                                  ↳ QReductionProof
                            ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_deleteBy0(zu53, zu54, zu55, False, ba, bb) → new_deleteBy(Left(zu55), zu53, ba, bb)
new_deleteBy(Left(zu31100), :(Left(zu4600), zu461), bc, bd) → new_deleteBy0(zu461, zu4600, zu31100, new_esEs27(zu31100, zu4600, bc), bc, bd)
new_deleteBy(Left(zu31100), :(Right(zu4600), zu461), bc, bd) → new_deleteBy(Left(zu31100), zu461, bc, bd)

The TRS R consists of the following rules:

new_esEs27(zu31100, zu4600, ty_Ordering) → new_esEs19(zu31100, zu4600)
new_esEs27(zu31100, zu4600, ty_Bool) → new_esEs11(zu31100, zu4600)
new_esEs27(zu31100, zu4600, ty_Double) → new_esEs14(zu31100, zu4600)
new_esEs27(zu31100, zu4600, app(app(ty_@2, cg), da)) → new_esEs5(zu31100, zu4600, cg, da)
new_esEs27(zu31100, zu4600, app(ty_Ratio, bg)) → new_esEs10(zu31100, zu4600, bg)
new_esEs27(zu31100, zu4600, app(app(app(ty_@3, cd), ce), cf)) → new_esEs17(zu31100, zu4600, cd, ce, cf)
new_esEs27(zu31100, zu4600, ty_Int) → new_esEs9(zu31100, zu4600)
new_esEs27(zu31100, zu4600, app(ty_Maybe, bh)) → new_esEs12(zu31100, zu4600, bh)
new_esEs27(zu31100, zu4600, ty_@0) → new_esEs20(zu31100, zu4600)
new_esEs27(zu31100, zu4600, ty_Integer) → new_esEs8(zu31100, zu4600)
new_esEs27(zu31100, zu4600, ty_Float) → new_esEs16(zu31100, zu4600)
new_esEs27(zu31100, zu4600, app(ty_[], ca)) → new_esEs13(zu31100, zu4600, ca)
new_esEs27(zu31100, zu4600, ty_Char) → new_esEs18(zu31100, zu4600)
new_esEs27(zu31100, zu4600, app(app(ty_Either, cb), cc)) → new_esEs15(zu31100, zu4600, cb, cc)
new_esEs15(Left(zu311000), Left(zu46000), app(app(app(ty_@3, bah), bba), bbb), cc) → new_esEs17(zu311000, zu46000, bah, bba, bbb)
new_esEs15(Right(zu311000), Left(zu46000), cb, cc) → False
new_esEs15(Left(zu311000), Right(zu46000), cb, cc) → False
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(ty_Ratio, bbe)) → new_esEs10(zu311000, zu46000, bbe)
new_esEs12(Just(zu311000), Just(zu46000), app(ty_Maybe, hb)) → new_esEs12(zu311000, zu46000, hb)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(app(ty_Either, bbh), bca)) → new_esEs15(zu311000, zu46000, bbh, bca)
new_esEs15(Left(zu311000), Left(zu46000), app(ty_Maybe, bad), cc) → new_esEs12(zu311000, zu46000, bad)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(ty_Maybe, bbf)) → new_esEs12(zu311000, zu46000, bbf)
new_esEs12(Just(zu311000), Just(zu46000), app(app(ty_Either, hd), he)) → new_esEs15(zu311000, zu46000, hd, he)
new_esEs15(Left(zu311000), Left(zu46000), app(app(ty_Either, baf), bag), cc) → new_esEs15(zu311000, zu46000, baf, bag)
new_esEs15(Left(zu311000), Left(zu46000), ty_Integer, cc) → new_esEs8(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), app(ty_Ratio, bac), cc) → new_esEs10(zu311000, zu46000, bac)
new_esEs15(Left(zu311000), Left(zu46000), ty_Int, cc) → new_esEs9(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), app(ty_[], bae), cc) → new_esEs13(zu311000, zu46000, bae)
new_esEs15(Left(zu311000), Left(zu46000), ty_Char, cc) → new_esEs18(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), app(app(ty_@2, bbc), bbd), cc) → new_esEs5(zu311000, zu46000, bbc, bbd)
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), ty_Ordering, cc) → new_esEs19(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), ty_Bool, cc) → new_esEs11(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(app(app(ty_@3, bcb), bcc), bcd)) → new_esEs17(zu311000, zu46000, bcb, bcc, bcd)
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(ty_[], bbg)) → new_esEs13(zu311000, zu46000, bbg)
new_esEs15(Left(zu311000), Left(zu46000), ty_@0, cc) → new_esEs20(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(app(ty_@2, bce), bcf)) → new_esEs5(zu311000, zu46000, bce, bcf)
new_esEs15(Left(zu311000), Left(zu46000), ty_Float, cc) → new_esEs16(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), ty_Double, cc) → new_esEs14(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs9(zu31100, zu4600) → new_primEqInt(zu31100, zu4600)
new_primEqInt(Neg(Succ(zu3110000)), Pos(zu46000)) → False
new_primEqInt(Pos(Succ(zu3110000)), Neg(zu46000)) → False
new_primEqInt(Neg(Zero), Pos(Succ(zu460000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(zu460000))) → False
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_primEqInt(Neg(Succ(zu3110000)), Neg(Succ(zu460000))) → new_primEqNat0(zu3110000, zu460000)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Neg(Succ(zu460000))) → False
new_primEqInt(Neg(Succ(zu3110000)), Neg(Zero)) → False
new_primEqInt(Pos(Succ(zu3110000)), Pos(Succ(zu460000))) → new_primEqNat0(zu3110000, zu460000)
new_primEqInt(Pos(Zero), Pos(Succ(zu460000))) → False
new_primEqInt(Pos(Succ(zu3110000)), Pos(Zero)) → False
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqNat0(Zero, Succ(zu460000)) → False
new_primEqNat0(Succ(zu3110000), Zero) → False
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(zu3110000), Succ(zu460000)) → new_primEqNat0(zu3110000, zu460000)
new_esEs14(Double(zu311000, zu311001), Double(zu46000, zu46001)) → new_esEs9(new_sr(zu311000, zu46000), new_sr(zu311001, zu46001))
new_sr(Pos(zu3110000), Neg(zu460000)) → Neg(new_primMulNat0(zu3110000, zu460000))
new_sr(Neg(zu3110000), Pos(zu460000)) → Neg(new_primMulNat0(zu3110000, zu460000))
new_sr(Neg(zu3110000), Neg(zu460000)) → Pos(new_primMulNat0(zu3110000, zu460000))
new_sr(Pos(zu3110000), Pos(zu460000)) → Pos(new_primMulNat0(zu3110000, zu460000))
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zu31100000), Zero) → Zero
new_primMulNat0(Zero, Succ(zu4600000)) → Zero
new_primMulNat0(Succ(zu31100000), Succ(zu4600000)) → new_primPlusNat0(new_primMulNat0(zu31100000, Succ(zu4600000)), zu4600000)
new_primPlusNat0(Zero, zu4600000) → Succ(zu4600000)
new_primPlusNat0(Succ(zu800), zu4600000) → Succ(Succ(new_primPlusNat1(zu800, zu4600000)))
new_primPlusNat1(Succ(zu8000), Succ(zu46000000)) → Succ(Succ(new_primPlusNat1(zu8000, zu46000000)))
new_primPlusNat1(Succ(zu8000), Zero) → Succ(zu8000)
new_primPlusNat1(Zero, Succ(zu46000000)) → Succ(zu46000000)
new_primPlusNat1(Zero, Zero) → Zero
new_esEs16(Float(zu311000, zu311001), Float(zu46000, zu46001)) → new_esEs9(new_sr(zu311000, zu46000), new_sr(zu311001, zu46001))
new_esEs5(@2(zu311000, zu311001), @2(zu46000, zu46001), cg, da) → new_asAs(new_esEs7(zu311000, zu46000, cg), new_esEs6(zu311001, zu46001, da))
new_esEs7(zu311000, zu46000, app(ty_Maybe, ee)) → new_esEs12(zu311000, zu46000, ee)
new_esEs7(zu311000, zu46000, app(app(app(ty_@3, fa), fb), fc)) → new_esEs17(zu311000, zu46000, fa, fb, fc)
new_esEs7(zu311000, zu46000, app(ty_Ratio, ed)) → new_esEs10(zu311000, zu46000, ed)
new_esEs7(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs7(zu311000, zu46000, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs7(zu311000, zu46000, app(app(ty_@2, fd), ff)) → new_esEs5(zu311000, zu46000, fd, ff)
new_esEs7(zu311000, zu46000, ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs7(zu311000, zu46000, ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs7(zu311000, zu46000, app(ty_[], ef)) → new_esEs13(zu311000, zu46000, ef)
new_esEs7(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs7(zu311000, zu46000, app(app(ty_Either, eg), eh)) → new_esEs15(zu311000, zu46000, eg, eh)
new_esEs7(zu311000, zu46000, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs7(zu311000, zu46000, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs7(zu311000, zu46000, ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs6(zu311001, zu46001, ty_@0) → new_esEs20(zu311001, zu46001)
new_esEs6(zu311001, zu46001, ty_Integer) → new_esEs8(zu311001, zu46001)
new_esEs6(zu311001, zu46001, app(ty_Ratio, db)) → new_esEs10(zu311001, zu46001, db)
new_esEs6(zu311001, zu46001, app(app(app(ty_@3, dg), dh), ea)) → new_esEs17(zu311001, zu46001, dg, dh, ea)
new_esEs6(zu311001, zu46001, ty_Ordering) → new_esEs19(zu311001, zu46001)
new_esEs6(zu311001, zu46001, ty_Bool) → new_esEs11(zu311001, zu46001)
new_esEs6(zu311001, zu46001, app(app(ty_@2, eb), ec)) → new_esEs5(zu311001, zu46001, eb, ec)
new_esEs6(zu311001, zu46001, app(ty_Maybe, dc)) → new_esEs12(zu311001, zu46001, dc)
new_esEs6(zu311001, zu46001, ty_Int) → new_esEs9(zu311001, zu46001)
new_esEs6(zu311001, zu46001, app(ty_[], dd)) → new_esEs13(zu311001, zu46001, dd)
new_esEs6(zu311001, zu46001, ty_Char) → new_esEs18(zu311001, zu46001)
new_esEs6(zu311001, zu46001, ty_Double) → new_esEs14(zu311001, zu46001)
new_esEs6(zu311001, zu46001, ty_Float) → new_esEs16(zu311001, zu46001)
new_esEs6(zu311001, zu46001, app(app(ty_Either, de), df)) → new_esEs15(zu311001, zu46001, de, df)
new_asAs(False, zu79) → False
new_asAs(True, zu79) → zu79
new_esEs18(Char(zu311000), Char(zu46000)) → new_primEqNat0(zu311000, zu46000)
new_esEs13([], [], ca) → True
new_esEs13(:(zu311000, zu311001), :(zu46000, zu46001), ca) → new_asAs(new_esEs21(zu311000, zu46000, ca), new_esEs13(zu311001, zu46001, ca))
new_esEs13([], :(zu46000, zu46001), ca) → False
new_esEs13(:(zu311000, zu311001), [], ca) → False
new_esEs21(zu311000, zu46000, app(ty_[], ga)) → new_esEs13(zu311000, zu46000, ga)
new_esEs21(zu311000, zu46000, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs21(zu311000, zu46000, app(app(ty_@2, gg), gh)) → new_esEs5(zu311000, zu46000, gg, gh)
new_esEs21(zu311000, zu46000, app(app(ty_Either, gb), gc)) → new_esEs15(zu311000, zu46000, gb, gc)
new_esEs21(zu311000, zu46000, ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs21(zu311000, zu46000, app(ty_Ratio, fg)) → new_esEs10(zu311000, zu46000, fg)
new_esEs21(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs21(zu311000, zu46000, app(ty_Maybe, fh)) → new_esEs12(zu311000, zu46000, fh)
new_esEs21(zu311000, zu46000, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs21(zu311000, zu46000, app(app(app(ty_@3, gd), ge), gf)) → new_esEs17(zu311000, zu46000, gd, ge, gf)
new_esEs21(zu311000, zu46000, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs21(zu311000, zu46000, ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs21(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs21(zu311000, zu46000, ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs8(Integer(zu311000), Integer(zu46000)) → new_primEqInt(zu311000, zu46000)
new_esEs19(LT, GT) → False
new_esEs19(GT, LT) → False
new_esEs19(GT, GT) → True
new_esEs19(LT, LT) → True
new_esEs19(EQ, GT) → False
new_esEs19(GT, EQ) → False
new_esEs19(EQ, EQ) → True
new_esEs19(LT, EQ) → False
new_esEs19(EQ, LT) → False
new_esEs17(@3(zu311000, zu311001, zu311002), @3(zu46000, zu46001, zu46002), cd, ce, cf) → new_asAs(new_esEs26(zu311000, zu46000, cd), new_asAs(new_esEs25(zu311001, zu46001, ce), new_esEs24(zu311002, zu46002, cf)))
new_esEs26(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs26(zu311000, zu46000, ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs26(zu311000, zu46000, app(ty_Maybe, bgf)) → new_esEs12(zu311000, zu46000, bgf)
new_esEs26(zu311000, zu46000, app(app(ty_@2, bhe), bhf)) → new_esEs5(zu311000, zu46000, bhe, bhf)
new_esEs26(zu311000, zu46000, ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs26(zu311000, zu46000, app(ty_Ratio, bge)) → new_esEs10(zu311000, zu46000, bge)
new_esEs26(zu311000, zu46000, app(app(app(ty_@3, bhb), bhc), bhd)) → new_esEs17(zu311000, zu46000, bhb, bhc, bhd)
new_esEs26(zu311000, zu46000, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs26(zu311000, zu46000, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs26(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs26(zu311000, zu46000, app(ty_[], bgg)) → new_esEs13(zu311000, zu46000, bgg)
new_esEs26(zu311000, zu46000, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs26(zu311000, zu46000, ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs26(zu311000, zu46000, app(app(ty_Either, bgh), bha)) → new_esEs15(zu311000, zu46000, bgh, bha)
new_esEs25(zu311001, zu46001, app(app(ty_Either, bff), bfg)) → new_esEs15(zu311001, zu46001, bff, bfg)
new_esEs25(zu311001, zu46001, ty_Double) → new_esEs14(zu311001, zu46001)
new_esEs25(zu311001, zu46001, ty_Ordering) → new_esEs19(zu311001, zu46001)
new_esEs25(zu311001, zu46001, ty_Integer) → new_esEs8(zu311001, zu46001)
new_esEs25(zu311001, zu46001, app(app(app(ty_@3, bfh), bga), bgb)) → new_esEs17(zu311001, zu46001, bfh, bga, bgb)
new_esEs25(zu311001, zu46001, app(ty_[], bfe)) → new_esEs13(zu311001, zu46001, bfe)
new_esEs25(zu311001, zu46001, ty_Float) → new_esEs16(zu311001, zu46001)
new_esEs25(zu311001, zu46001, app(ty_Maybe, bfd)) → new_esEs12(zu311001, zu46001, bfd)
new_esEs25(zu311001, zu46001, ty_Bool) → new_esEs11(zu311001, zu46001)
new_esEs25(zu311001, zu46001, app(ty_Ratio, bfc)) → new_esEs10(zu311001, zu46001, bfc)
new_esEs25(zu311001, zu46001, app(app(ty_@2, bgc), bgd)) → new_esEs5(zu311001, zu46001, bgc, bgd)
new_esEs25(zu311001, zu46001, ty_Char) → new_esEs18(zu311001, zu46001)
new_esEs25(zu311001, zu46001, ty_Int) → new_esEs9(zu311001, zu46001)
new_esEs25(zu311001, zu46001, ty_@0) → new_esEs20(zu311001, zu46001)
new_esEs24(zu311002, zu46002, app(ty_[], bec)) → new_esEs13(zu311002, zu46002, bec)
new_esEs24(zu311002, zu46002, app(app(app(ty_@3, bef), beg), beh)) → new_esEs17(zu311002, zu46002, bef, beg, beh)
new_esEs24(zu311002, zu46002, ty_Ordering) → new_esEs19(zu311002, zu46002)
new_esEs24(zu311002, zu46002, ty_Integer) → new_esEs8(zu311002, zu46002)
new_esEs24(zu311002, zu46002, app(app(ty_@2, bfa), bfb)) → new_esEs5(zu311002, zu46002, bfa, bfb)
new_esEs24(zu311002, zu46002, ty_Int) → new_esEs9(zu311002, zu46002)
new_esEs24(zu311002, zu46002, app(ty_Ratio, bea)) → new_esEs10(zu311002, zu46002, bea)
new_esEs24(zu311002, zu46002, app(ty_Maybe, beb)) → new_esEs12(zu311002, zu46002, beb)
new_esEs24(zu311002, zu46002, ty_Float) → new_esEs16(zu311002, zu46002)
new_esEs24(zu311002, zu46002, app(app(ty_Either, bed), bee)) → new_esEs15(zu311002, zu46002, bed, bee)
new_esEs24(zu311002, zu46002, ty_Bool) → new_esEs11(zu311002, zu46002)
new_esEs24(zu311002, zu46002, ty_Char) → new_esEs18(zu311002, zu46002)
new_esEs24(zu311002, zu46002, ty_@0) → new_esEs20(zu311002, zu46002)
new_esEs24(zu311002, zu46002, ty_Double) → new_esEs14(zu311002, zu46002)
new_esEs20(@0, @0) → True
new_esEs11(True, False) → False
new_esEs11(False, True) → False
new_esEs11(True, True) → True
new_esEs11(False, False) → True
new_esEs12(Just(zu311000), Just(zu46000), app(ty_Ratio, ha)) → new_esEs10(zu311000, zu46000, ha)
new_esEs12(Just(zu311000), Just(zu46000), app(app(ty_@2, baa), bab)) → new_esEs5(zu311000, zu46000, baa, bab)
new_esEs12(Just(zu311000), Just(zu46000), ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), app(app(app(ty_@3, hf), hg), hh)) → new_esEs17(zu311000, zu46000, hf, hg, hh)
new_esEs12(Just(zu311000), Just(zu46000), ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), app(ty_[], hc)) → new_esEs13(zu311000, zu46000, hc)
new_esEs12(Nothing, Just(zu46000), bh) → False
new_esEs12(Just(zu311000), Nothing, bh) → False
new_esEs12(Just(zu311000), Just(zu46000), ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs12(Nothing, Nothing, bh) → True
new_esEs12(Just(zu311000), Just(zu46000), ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs10(:%(zu311000, zu311001), :%(zu46000, zu46001), bg) → new_asAs(new_esEs23(zu311000, zu46000, bg), new_esEs22(zu311001, zu46001, bg))
new_esEs23(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs23(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs22(zu311001, zu46001, ty_Int) → new_esEs9(zu311001, zu46001)
new_esEs22(zu311001, zu46001, ty_Integer) → new_esEs8(zu311001, zu46001)

The set Q consists of the following terms:

new_esEs28(x0, x1, ty_Int)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(x0, x1, ty_Int)
new_esEs12(Just(x0), Just(x1), ty_Integer)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_esEs11(True, True)
new_esEs7(x0, x1, ty_@0)
new_esEs21(x0, x1, ty_Integer)
new_esEs21(x0, x1, ty_Bool)
new_esEs15(Right(x0), Right(x1), x2, ty_Int)
new_esEs26(x0, x1, ty_Int)
new_esEs26(x0, x1, ty_@0)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_esEs12(Just(x0), Just(x1), ty_Bool)
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Double)
new_esEs27(x0, x1, ty_Ordering)
new_esEs27(x0, x1, ty_@0)
new_primPlusNat0(Succ(x0), x1)
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_asAs(False, x0)
new_esEs16(Float(x0, x1), Float(x2, x3))
new_esEs7(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_@0)
new_esEs6(x0, x1, app(ty_Ratio, x2))
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primPlusNat1(Succ(x0), Zero)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs6(x0, x1, ty_Double)
new_sr(Pos(x0), Pos(x1))
new_esEs28(x0, x1, app(ty_[], x2))
new_esEs12(Just(x0), Just(x1), ty_Int)
new_esEs7(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Double)
new_esEs15(Right(x0), Right(x1), x2, ty_@0)
new_esEs11(True, False)
new_esEs11(False, True)
new_esEs7(x0, x1, ty_Char)
new_esEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Char)
new_esEs17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs15(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs12(Nothing, Nothing, x0)
new_esEs25(x0, x1, ty_Ordering)
new_esEs6(x0, x1, ty_Integer)
new_esEs6(x0, x1, ty_Ordering)
new_esEs26(x0, x1, ty_Bool)
new_esEs13(:(x0, x1), :(x2, x3), x4)
new_esEs24(x0, x1, ty_@0)
new_esEs6(x0, x1, ty_Char)
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_primEqNat0(Succ(x0), Succ(x1))
new_primMulNat0(Zero, Succ(x0))
new_esEs15(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs15(Left(x0), Left(x1), ty_@0, x2)
new_esEs15(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs27(x0, x1, ty_Int)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_asAs(True, x0)
new_sr(Pos(x0), Neg(x1))
new_sr(Neg(x0), Pos(x1))
new_esEs6(x0, x1, app(ty_Maybe, x2))
new_esEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Float)
new_esEs15(Left(x0), Left(x1), ty_Double, x2)
new_esEs27(x0, x1, ty_Integer)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs15(Right(x0), Right(x1), x2, ty_Bool)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs12(Just(x0), Just(x1), ty_Double)
new_esEs28(x0, x1, ty_Double)
new_esEs15(Right(x0), Right(x1), x2, ty_Integer)
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs21(x0, x1, app(ty_[], x2))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs15(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs28(x0, x1, ty_Bool)
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_esEs15(Left(x0), Left(x1), ty_Int, x2)
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_Integer)
new_primEqNat0(Zero, Zero)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_sr(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs15(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, ty_Char)
new_esEs28(x0, x1, ty_Integer)
new_esEs19(GT, GT)
new_esEs6(x0, x1, ty_@0)
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_esEs28(x0, x1, ty_@0)
new_esEs15(Right(x0), Right(x1), x2, ty_Char)
new_esEs27(x0, x1, ty_Float)
new_esEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs5(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs12(Just(x0), Just(x1), ty_Char)
new_esEs28(x0, x1, ty_Float)
new_primMulNat0(Zero, Zero)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs19(EQ, EQ)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs6(x0, x1, ty_Bool)
new_esEs15(Left(x0), Right(x1), x2, x3)
new_esEs15(Right(x0), Left(x1), x2, x3)
new_esEs15(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs6(x0, x1, ty_Int)
new_esEs24(x0, x1, ty_Bool)
new_esEs15(Right(x0), Right(x1), x2, ty_Float)
new_primEqNat0(Succ(x0), Zero)
new_esEs26(x0, x1, ty_Char)
new_esEs19(LT, EQ)
new_esEs19(EQ, LT)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs12(Just(x0), Nothing, x1)
new_esEs13(:(x0, x1), [], x2)
new_esEs7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(x0, x1, app(ty_[], x2))
new_esEs12(Nothing, Just(x0), x1)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs21(x0, x1, ty_Char)
new_esEs19(LT, GT)
new_esEs19(GT, LT)
new_esEs6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs13([], :(x0, x1), x2)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs19(LT, LT)
new_esEs21(x0, x1, ty_Int)
new_esEs24(x0, x1, ty_Char)
new_esEs19(GT, EQ)
new_esEs19(EQ, GT)
new_esEs15(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs26(x0, x1, ty_Double)
new_primMulNat0(Succ(x0), Zero)
new_esEs21(x0, x1, ty_Ordering)
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(x0, x1, app(app(ty_@2, x2), x3))
new_primEqNat0(Zero, Succ(x0))
new_esEs12(Just(x0), Just(x1), ty_Ordering)
new_esEs9(x0, x1)
new_esEs24(x0, x1, app(ty_[], x2))
new_esEs7(x0, x1, ty_Ordering)
new_primPlusNat1(Succ(x0), Succ(x1))
new_esEs26(x0, x1, ty_Integer)
new_esEs12(Just(x0), Just(x1), app(ty_[], x2))
new_esEs15(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(x0, x1, app(ty_Ratio, x2))
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs20(@0, @0)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs15(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs11(False, False)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs7(x0, x1, ty_Integer)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_Int)
new_esEs25(x0, x1, ty_Integer)
new_esEs15(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs26(x0, x1, ty_Float)
new_esEs12(Just(x0), Just(x1), ty_Float)
new_esEs15(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs25(x0, x1, ty_Double)
new_esEs15(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs22(x0, x1, ty_Int)
new_esEs25(x0, x1, ty_@0)
new_esEs15(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, ty_Ordering)
new_esEs25(x0, x1, ty_Float)
new_esEs8(Integer(x0), Integer(x1))
new_esEs24(x0, x1, ty_Integer)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_primPlusNat1(Zero, Zero)
new_esEs7(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Int)
new_esEs6(x0, x1, app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, ty_Ordering)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs24(x0, x1, ty_Float)
new_esEs7(x0, x1, ty_Float)
new_esEs22(x0, x1, ty_Integer)
new_esEs15(Left(x0), Left(x1), ty_Bool, x2)
new_esEs15(Left(x0), Left(x1), ty_Char, x2)
new_primEqInt(Pos(Zero), Pos(Zero))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs18(Char(x0), Char(x1))
new_esEs25(x0, x1, ty_Char)
new_esEs13([], [], x0)
new_primPlusNat0(Zero, x0)
new_esEs25(x0, x1, ty_Bool)
new_esEs10(:%(x0, x1), :%(x2, x3), x4)
new_esEs6(x0, x1, app(ty_[], x2))
new_esEs15(Right(x0), Right(x1), x2, ty_Double)
new_esEs6(x0, x1, ty_Float)
new_esEs24(x0, x1, ty_Double)
new_esEs14(Double(x0, x1), Double(x2, x3))
new_esEs15(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs24(x0, x1, ty_Ordering)
new_esEs24(x0, x1, ty_Int)
new_esEs12(Just(x0), Just(x1), ty_@0)
new_esEs15(Left(x0), Left(x1), ty_Float, x2)
new_esEs15(Left(x0), Left(x1), ty_Integer, x2)
new_esEs6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_esEs28(x0, x1, ty_Int)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs28(x0, x1, ty_Double)
new_esEs28(x0, x1, ty_Bool)
new_esEs28(x0, x1, ty_Char)
new_esEs28(x0, x1, ty_Integer)
new_esEs28(x0, x1, ty_@0)
new_esEs28(x0, x1, ty_Float)
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_esEs28(x0, x1, ty_Ordering)



↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                        ↳ DependencyGraphProof
                          ↳ AND
                            ↳ QDP
                              ↳ UsableRulesProof
                                ↳ QDP
                                  ↳ QReductionProof
QDP
                                      ↳ QDPSizeChangeProof
                            ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_deleteBy0(zu53, zu54, zu55, False, ba, bb) → new_deleteBy(Left(zu55), zu53, ba, bb)
new_deleteBy(Left(zu31100), :(Left(zu4600), zu461), bc, bd) → new_deleteBy0(zu461, zu4600, zu31100, new_esEs27(zu31100, zu4600, bc), bc, bd)
new_deleteBy(Left(zu31100), :(Right(zu4600), zu461), bc, bd) → new_deleteBy(Left(zu31100), zu461, bc, bd)

The TRS R consists of the following rules:

new_esEs27(zu31100, zu4600, ty_Ordering) → new_esEs19(zu31100, zu4600)
new_esEs27(zu31100, zu4600, ty_Bool) → new_esEs11(zu31100, zu4600)
new_esEs27(zu31100, zu4600, ty_Double) → new_esEs14(zu31100, zu4600)
new_esEs27(zu31100, zu4600, app(app(ty_@2, cg), da)) → new_esEs5(zu31100, zu4600, cg, da)
new_esEs27(zu31100, zu4600, app(ty_Ratio, bg)) → new_esEs10(zu31100, zu4600, bg)
new_esEs27(zu31100, zu4600, app(app(app(ty_@3, cd), ce), cf)) → new_esEs17(zu31100, zu4600, cd, ce, cf)
new_esEs27(zu31100, zu4600, ty_Int) → new_esEs9(zu31100, zu4600)
new_esEs27(zu31100, zu4600, app(ty_Maybe, bh)) → new_esEs12(zu31100, zu4600, bh)
new_esEs27(zu31100, zu4600, ty_@0) → new_esEs20(zu31100, zu4600)
new_esEs27(zu31100, zu4600, ty_Integer) → new_esEs8(zu31100, zu4600)
new_esEs27(zu31100, zu4600, ty_Float) → new_esEs16(zu31100, zu4600)
new_esEs27(zu31100, zu4600, app(ty_[], ca)) → new_esEs13(zu31100, zu4600, ca)
new_esEs27(zu31100, zu4600, ty_Char) → new_esEs18(zu31100, zu4600)
new_esEs27(zu31100, zu4600, app(app(ty_Either, cb), cc)) → new_esEs15(zu31100, zu4600, cb, cc)
new_esEs15(Left(zu311000), Left(zu46000), app(app(app(ty_@3, bah), bba), bbb), cc) → new_esEs17(zu311000, zu46000, bah, bba, bbb)
new_esEs15(Right(zu311000), Left(zu46000), cb, cc) → False
new_esEs15(Left(zu311000), Right(zu46000), cb, cc) → False
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(ty_Ratio, bbe)) → new_esEs10(zu311000, zu46000, bbe)
new_esEs12(Just(zu311000), Just(zu46000), app(ty_Maybe, hb)) → new_esEs12(zu311000, zu46000, hb)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(app(ty_Either, bbh), bca)) → new_esEs15(zu311000, zu46000, bbh, bca)
new_esEs15(Left(zu311000), Left(zu46000), app(ty_Maybe, bad), cc) → new_esEs12(zu311000, zu46000, bad)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(ty_Maybe, bbf)) → new_esEs12(zu311000, zu46000, bbf)
new_esEs12(Just(zu311000), Just(zu46000), app(app(ty_Either, hd), he)) → new_esEs15(zu311000, zu46000, hd, he)
new_esEs15(Left(zu311000), Left(zu46000), app(app(ty_Either, baf), bag), cc) → new_esEs15(zu311000, zu46000, baf, bag)
new_esEs15(Left(zu311000), Left(zu46000), ty_Integer, cc) → new_esEs8(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), app(ty_Ratio, bac), cc) → new_esEs10(zu311000, zu46000, bac)
new_esEs15(Left(zu311000), Left(zu46000), ty_Int, cc) → new_esEs9(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), app(ty_[], bae), cc) → new_esEs13(zu311000, zu46000, bae)
new_esEs15(Left(zu311000), Left(zu46000), ty_Char, cc) → new_esEs18(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), app(app(ty_@2, bbc), bbd), cc) → new_esEs5(zu311000, zu46000, bbc, bbd)
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), ty_Ordering, cc) → new_esEs19(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), ty_Bool, cc) → new_esEs11(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(app(app(ty_@3, bcb), bcc), bcd)) → new_esEs17(zu311000, zu46000, bcb, bcc, bcd)
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(ty_[], bbg)) → new_esEs13(zu311000, zu46000, bbg)
new_esEs15(Left(zu311000), Left(zu46000), ty_@0, cc) → new_esEs20(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(app(ty_@2, bce), bcf)) → new_esEs5(zu311000, zu46000, bce, bcf)
new_esEs15(Left(zu311000), Left(zu46000), ty_Float, cc) → new_esEs16(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), ty_Double, cc) → new_esEs14(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs9(zu31100, zu4600) → new_primEqInt(zu31100, zu4600)
new_primEqInt(Neg(Succ(zu3110000)), Pos(zu46000)) → False
new_primEqInt(Pos(Succ(zu3110000)), Neg(zu46000)) → False
new_primEqInt(Neg(Zero), Pos(Succ(zu460000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(zu460000))) → False
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_primEqInt(Neg(Succ(zu3110000)), Neg(Succ(zu460000))) → new_primEqNat0(zu3110000, zu460000)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Neg(Succ(zu460000))) → False
new_primEqInt(Neg(Succ(zu3110000)), Neg(Zero)) → False
new_primEqInt(Pos(Succ(zu3110000)), Pos(Succ(zu460000))) → new_primEqNat0(zu3110000, zu460000)
new_primEqInt(Pos(Zero), Pos(Succ(zu460000))) → False
new_primEqInt(Pos(Succ(zu3110000)), Pos(Zero)) → False
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqNat0(Zero, Succ(zu460000)) → False
new_primEqNat0(Succ(zu3110000), Zero) → False
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(zu3110000), Succ(zu460000)) → new_primEqNat0(zu3110000, zu460000)
new_esEs14(Double(zu311000, zu311001), Double(zu46000, zu46001)) → new_esEs9(new_sr(zu311000, zu46000), new_sr(zu311001, zu46001))
new_sr(Pos(zu3110000), Neg(zu460000)) → Neg(new_primMulNat0(zu3110000, zu460000))
new_sr(Neg(zu3110000), Pos(zu460000)) → Neg(new_primMulNat0(zu3110000, zu460000))
new_sr(Neg(zu3110000), Neg(zu460000)) → Pos(new_primMulNat0(zu3110000, zu460000))
new_sr(Pos(zu3110000), Pos(zu460000)) → Pos(new_primMulNat0(zu3110000, zu460000))
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zu31100000), Zero) → Zero
new_primMulNat0(Zero, Succ(zu4600000)) → Zero
new_primMulNat0(Succ(zu31100000), Succ(zu4600000)) → new_primPlusNat0(new_primMulNat0(zu31100000, Succ(zu4600000)), zu4600000)
new_primPlusNat0(Zero, zu4600000) → Succ(zu4600000)
new_primPlusNat0(Succ(zu800), zu4600000) → Succ(Succ(new_primPlusNat1(zu800, zu4600000)))
new_primPlusNat1(Succ(zu8000), Succ(zu46000000)) → Succ(Succ(new_primPlusNat1(zu8000, zu46000000)))
new_primPlusNat1(Succ(zu8000), Zero) → Succ(zu8000)
new_primPlusNat1(Zero, Succ(zu46000000)) → Succ(zu46000000)
new_primPlusNat1(Zero, Zero) → Zero
new_esEs16(Float(zu311000, zu311001), Float(zu46000, zu46001)) → new_esEs9(new_sr(zu311000, zu46000), new_sr(zu311001, zu46001))
new_esEs5(@2(zu311000, zu311001), @2(zu46000, zu46001), cg, da) → new_asAs(new_esEs7(zu311000, zu46000, cg), new_esEs6(zu311001, zu46001, da))
new_esEs7(zu311000, zu46000, app(ty_Maybe, ee)) → new_esEs12(zu311000, zu46000, ee)
new_esEs7(zu311000, zu46000, app(app(app(ty_@3, fa), fb), fc)) → new_esEs17(zu311000, zu46000, fa, fb, fc)
new_esEs7(zu311000, zu46000, app(ty_Ratio, ed)) → new_esEs10(zu311000, zu46000, ed)
new_esEs7(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs7(zu311000, zu46000, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs7(zu311000, zu46000, app(app(ty_@2, fd), ff)) → new_esEs5(zu311000, zu46000, fd, ff)
new_esEs7(zu311000, zu46000, ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs7(zu311000, zu46000, ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs7(zu311000, zu46000, app(ty_[], ef)) → new_esEs13(zu311000, zu46000, ef)
new_esEs7(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs7(zu311000, zu46000, app(app(ty_Either, eg), eh)) → new_esEs15(zu311000, zu46000, eg, eh)
new_esEs7(zu311000, zu46000, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs7(zu311000, zu46000, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs7(zu311000, zu46000, ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs6(zu311001, zu46001, ty_@0) → new_esEs20(zu311001, zu46001)
new_esEs6(zu311001, zu46001, ty_Integer) → new_esEs8(zu311001, zu46001)
new_esEs6(zu311001, zu46001, app(ty_Ratio, db)) → new_esEs10(zu311001, zu46001, db)
new_esEs6(zu311001, zu46001, app(app(app(ty_@3, dg), dh), ea)) → new_esEs17(zu311001, zu46001, dg, dh, ea)
new_esEs6(zu311001, zu46001, ty_Ordering) → new_esEs19(zu311001, zu46001)
new_esEs6(zu311001, zu46001, ty_Bool) → new_esEs11(zu311001, zu46001)
new_esEs6(zu311001, zu46001, app(app(ty_@2, eb), ec)) → new_esEs5(zu311001, zu46001, eb, ec)
new_esEs6(zu311001, zu46001, app(ty_Maybe, dc)) → new_esEs12(zu311001, zu46001, dc)
new_esEs6(zu311001, zu46001, ty_Int) → new_esEs9(zu311001, zu46001)
new_esEs6(zu311001, zu46001, app(ty_[], dd)) → new_esEs13(zu311001, zu46001, dd)
new_esEs6(zu311001, zu46001, ty_Char) → new_esEs18(zu311001, zu46001)
new_esEs6(zu311001, zu46001, ty_Double) → new_esEs14(zu311001, zu46001)
new_esEs6(zu311001, zu46001, ty_Float) → new_esEs16(zu311001, zu46001)
new_esEs6(zu311001, zu46001, app(app(ty_Either, de), df)) → new_esEs15(zu311001, zu46001, de, df)
new_asAs(False, zu79) → False
new_asAs(True, zu79) → zu79
new_esEs18(Char(zu311000), Char(zu46000)) → new_primEqNat0(zu311000, zu46000)
new_esEs13([], [], ca) → True
new_esEs13(:(zu311000, zu311001), :(zu46000, zu46001), ca) → new_asAs(new_esEs21(zu311000, zu46000, ca), new_esEs13(zu311001, zu46001, ca))
new_esEs13([], :(zu46000, zu46001), ca) → False
new_esEs13(:(zu311000, zu311001), [], ca) → False
new_esEs21(zu311000, zu46000, app(ty_[], ga)) → new_esEs13(zu311000, zu46000, ga)
new_esEs21(zu311000, zu46000, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs21(zu311000, zu46000, app(app(ty_@2, gg), gh)) → new_esEs5(zu311000, zu46000, gg, gh)
new_esEs21(zu311000, zu46000, app(app(ty_Either, gb), gc)) → new_esEs15(zu311000, zu46000, gb, gc)
new_esEs21(zu311000, zu46000, ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs21(zu311000, zu46000, app(ty_Ratio, fg)) → new_esEs10(zu311000, zu46000, fg)
new_esEs21(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs21(zu311000, zu46000, app(ty_Maybe, fh)) → new_esEs12(zu311000, zu46000, fh)
new_esEs21(zu311000, zu46000, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs21(zu311000, zu46000, app(app(app(ty_@3, gd), ge), gf)) → new_esEs17(zu311000, zu46000, gd, ge, gf)
new_esEs21(zu311000, zu46000, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs21(zu311000, zu46000, ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs21(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs21(zu311000, zu46000, ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs8(Integer(zu311000), Integer(zu46000)) → new_primEqInt(zu311000, zu46000)
new_esEs19(LT, GT) → False
new_esEs19(GT, LT) → False
new_esEs19(GT, GT) → True
new_esEs19(LT, LT) → True
new_esEs19(EQ, GT) → False
new_esEs19(GT, EQ) → False
new_esEs19(EQ, EQ) → True
new_esEs19(LT, EQ) → False
new_esEs19(EQ, LT) → False
new_esEs17(@3(zu311000, zu311001, zu311002), @3(zu46000, zu46001, zu46002), cd, ce, cf) → new_asAs(new_esEs26(zu311000, zu46000, cd), new_asAs(new_esEs25(zu311001, zu46001, ce), new_esEs24(zu311002, zu46002, cf)))
new_esEs26(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs26(zu311000, zu46000, ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs26(zu311000, zu46000, app(ty_Maybe, bgf)) → new_esEs12(zu311000, zu46000, bgf)
new_esEs26(zu311000, zu46000, app(app(ty_@2, bhe), bhf)) → new_esEs5(zu311000, zu46000, bhe, bhf)
new_esEs26(zu311000, zu46000, ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs26(zu311000, zu46000, app(ty_Ratio, bge)) → new_esEs10(zu311000, zu46000, bge)
new_esEs26(zu311000, zu46000, app(app(app(ty_@3, bhb), bhc), bhd)) → new_esEs17(zu311000, zu46000, bhb, bhc, bhd)
new_esEs26(zu311000, zu46000, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs26(zu311000, zu46000, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs26(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs26(zu311000, zu46000, app(ty_[], bgg)) → new_esEs13(zu311000, zu46000, bgg)
new_esEs26(zu311000, zu46000, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs26(zu311000, zu46000, ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs26(zu311000, zu46000, app(app(ty_Either, bgh), bha)) → new_esEs15(zu311000, zu46000, bgh, bha)
new_esEs25(zu311001, zu46001, app(app(ty_Either, bff), bfg)) → new_esEs15(zu311001, zu46001, bff, bfg)
new_esEs25(zu311001, zu46001, ty_Double) → new_esEs14(zu311001, zu46001)
new_esEs25(zu311001, zu46001, ty_Ordering) → new_esEs19(zu311001, zu46001)
new_esEs25(zu311001, zu46001, ty_Integer) → new_esEs8(zu311001, zu46001)
new_esEs25(zu311001, zu46001, app(app(app(ty_@3, bfh), bga), bgb)) → new_esEs17(zu311001, zu46001, bfh, bga, bgb)
new_esEs25(zu311001, zu46001, app(ty_[], bfe)) → new_esEs13(zu311001, zu46001, bfe)
new_esEs25(zu311001, zu46001, ty_Float) → new_esEs16(zu311001, zu46001)
new_esEs25(zu311001, zu46001, app(ty_Maybe, bfd)) → new_esEs12(zu311001, zu46001, bfd)
new_esEs25(zu311001, zu46001, ty_Bool) → new_esEs11(zu311001, zu46001)
new_esEs25(zu311001, zu46001, app(ty_Ratio, bfc)) → new_esEs10(zu311001, zu46001, bfc)
new_esEs25(zu311001, zu46001, app(app(ty_@2, bgc), bgd)) → new_esEs5(zu311001, zu46001, bgc, bgd)
new_esEs25(zu311001, zu46001, ty_Char) → new_esEs18(zu311001, zu46001)
new_esEs25(zu311001, zu46001, ty_Int) → new_esEs9(zu311001, zu46001)
new_esEs25(zu311001, zu46001, ty_@0) → new_esEs20(zu311001, zu46001)
new_esEs24(zu311002, zu46002, app(ty_[], bec)) → new_esEs13(zu311002, zu46002, bec)
new_esEs24(zu311002, zu46002, app(app(app(ty_@3, bef), beg), beh)) → new_esEs17(zu311002, zu46002, bef, beg, beh)
new_esEs24(zu311002, zu46002, ty_Ordering) → new_esEs19(zu311002, zu46002)
new_esEs24(zu311002, zu46002, ty_Integer) → new_esEs8(zu311002, zu46002)
new_esEs24(zu311002, zu46002, app(app(ty_@2, bfa), bfb)) → new_esEs5(zu311002, zu46002, bfa, bfb)
new_esEs24(zu311002, zu46002, ty_Int) → new_esEs9(zu311002, zu46002)
new_esEs24(zu311002, zu46002, app(ty_Ratio, bea)) → new_esEs10(zu311002, zu46002, bea)
new_esEs24(zu311002, zu46002, app(ty_Maybe, beb)) → new_esEs12(zu311002, zu46002, beb)
new_esEs24(zu311002, zu46002, ty_Float) → new_esEs16(zu311002, zu46002)
new_esEs24(zu311002, zu46002, app(app(ty_Either, bed), bee)) → new_esEs15(zu311002, zu46002, bed, bee)
new_esEs24(zu311002, zu46002, ty_Bool) → new_esEs11(zu311002, zu46002)
new_esEs24(zu311002, zu46002, ty_Char) → new_esEs18(zu311002, zu46002)
new_esEs24(zu311002, zu46002, ty_@0) → new_esEs20(zu311002, zu46002)
new_esEs24(zu311002, zu46002, ty_Double) → new_esEs14(zu311002, zu46002)
new_esEs20(@0, @0) → True
new_esEs11(True, False) → False
new_esEs11(False, True) → False
new_esEs11(True, True) → True
new_esEs11(False, False) → True
new_esEs12(Just(zu311000), Just(zu46000), app(ty_Ratio, ha)) → new_esEs10(zu311000, zu46000, ha)
new_esEs12(Just(zu311000), Just(zu46000), app(app(ty_@2, baa), bab)) → new_esEs5(zu311000, zu46000, baa, bab)
new_esEs12(Just(zu311000), Just(zu46000), ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), app(app(app(ty_@3, hf), hg), hh)) → new_esEs17(zu311000, zu46000, hf, hg, hh)
new_esEs12(Just(zu311000), Just(zu46000), ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), app(ty_[], hc)) → new_esEs13(zu311000, zu46000, hc)
new_esEs12(Nothing, Just(zu46000), bh) → False
new_esEs12(Just(zu311000), Nothing, bh) → False
new_esEs12(Just(zu311000), Just(zu46000), ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs12(Nothing, Nothing, bh) → True
new_esEs12(Just(zu311000), Just(zu46000), ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs10(:%(zu311000, zu311001), :%(zu46000, zu46001), bg) → new_asAs(new_esEs23(zu311000, zu46000, bg), new_esEs22(zu311001, zu46001, bg))
new_esEs23(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs23(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs22(zu311001, zu46001, ty_Int) → new_esEs9(zu311001, zu46001)
new_esEs22(zu311001, zu46001, ty_Integer) → new_esEs8(zu311001, zu46001)

The set Q consists of the following terms:

new_esEs7(x0, x1, ty_Int)
new_esEs12(Just(x0), Just(x1), ty_Integer)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_esEs11(True, True)
new_esEs7(x0, x1, ty_@0)
new_esEs21(x0, x1, ty_Integer)
new_esEs21(x0, x1, ty_Bool)
new_esEs15(Right(x0), Right(x1), x2, ty_Int)
new_esEs26(x0, x1, ty_Int)
new_esEs26(x0, x1, ty_@0)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_esEs12(Just(x0), Just(x1), ty_Bool)
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Double)
new_esEs27(x0, x1, ty_Ordering)
new_esEs27(x0, x1, ty_@0)
new_primPlusNat0(Succ(x0), x1)
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_asAs(False, x0)
new_esEs16(Float(x0, x1), Float(x2, x3))
new_esEs7(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_@0)
new_esEs6(x0, x1, app(ty_Ratio, x2))
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primPlusNat1(Succ(x0), Zero)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs6(x0, x1, ty_Double)
new_sr(Pos(x0), Pos(x1))
new_esEs12(Just(x0), Just(x1), ty_Int)
new_esEs7(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Double)
new_esEs15(Right(x0), Right(x1), x2, ty_@0)
new_esEs11(True, False)
new_esEs11(False, True)
new_esEs7(x0, x1, ty_Char)
new_esEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Char)
new_esEs17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs15(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs12(Nothing, Nothing, x0)
new_esEs25(x0, x1, ty_Ordering)
new_esEs6(x0, x1, ty_Integer)
new_esEs6(x0, x1, ty_Ordering)
new_esEs26(x0, x1, ty_Bool)
new_esEs13(:(x0, x1), :(x2, x3), x4)
new_esEs24(x0, x1, ty_@0)
new_esEs6(x0, x1, ty_Char)
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_primEqNat0(Succ(x0), Succ(x1))
new_primMulNat0(Zero, Succ(x0))
new_esEs15(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs15(Left(x0), Left(x1), ty_@0, x2)
new_esEs15(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs27(x0, x1, ty_Int)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_asAs(True, x0)
new_sr(Pos(x0), Neg(x1))
new_sr(Neg(x0), Pos(x1))
new_esEs6(x0, x1, app(ty_Maybe, x2))
new_esEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Float)
new_esEs15(Left(x0), Left(x1), ty_Double, x2)
new_esEs27(x0, x1, ty_Integer)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs15(Right(x0), Right(x1), x2, ty_Bool)
new_esEs12(Just(x0), Just(x1), ty_Double)
new_esEs15(Right(x0), Right(x1), x2, ty_Integer)
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs21(x0, x1, app(ty_[], x2))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs15(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_esEs15(Left(x0), Left(x1), ty_Int, x2)
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_Integer)
new_primEqNat0(Zero, Zero)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_sr(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs15(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs19(GT, GT)
new_esEs6(x0, x1, ty_@0)
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_esEs15(Right(x0), Right(x1), x2, ty_Char)
new_esEs27(x0, x1, ty_Float)
new_esEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs5(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs12(Just(x0), Just(x1), ty_Char)
new_primMulNat0(Zero, Zero)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs19(EQ, EQ)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs6(x0, x1, ty_Bool)
new_esEs15(Left(x0), Right(x1), x2, x3)
new_esEs15(Right(x0), Left(x1), x2, x3)
new_esEs15(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs6(x0, x1, ty_Int)
new_esEs24(x0, x1, ty_Bool)
new_esEs15(Right(x0), Right(x1), x2, ty_Float)
new_primEqNat0(Succ(x0), Zero)
new_esEs26(x0, x1, ty_Char)
new_esEs19(LT, EQ)
new_esEs19(EQ, LT)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs12(Just(x0), Nothing, x1)
new_esEs13(:(x0, x1), [], x2)
new_esEs7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(x0, x1, app(ty_[], x2))
new_esEs12(Nothing, Just(x0), x1)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs21(x0, x1, ty_Char)
new_esEs19(LT, GT)
new_esEs19(GT, LT)
new_esEs6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs13([], :(x0, x1), x2)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs19(LT, LT)
new_esEs21(x0, x1, ty_Int)
new_esEs24(x0, x1, ty_Char)
new_esEs19(GT, EQ)
new_esEs19(EQ, GT)
new_esEs15(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs26(x0, x1, ty_Double)
new_primMulNat0(Succ(x0), Zero)
new_esEs21(x0, x1, ty_Ordering)
new_esEs7(x0, x1, app(app(ty_@2, x2), x3))
new_primEqNat0(Zero, Succ(x0))
new_esEs12(Just(x0), Just(x1), ty_Ordering)
new_esEs9(x0, x1)
new_esEs24(x0, x1, app(ty_[], x2))
new_esEs7(x0, x1, ty_Ordering)
new_primPlusNat1(Succ(x0), Succ(x1))
new_esEs26(x0, x1, ty_Integer)
new_esEs12(Just(x0), Just(x1), app(ty_[], x2))
new_esEs15(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(x0, x1, app(ty_Ratio, x2))
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs20(@0, @0)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs15(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs11(False, False)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs7(x0, x1, ty_Integer)
new_esEs23(x0, x1, ty_Int)
new_esEs25(x0, x1, ty_Integer)
new_esEs15(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs26(x0, x1, ty_Float)
new_esEs12(Just(x0), Just(x1), ty_Float)
new_esEs15(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs25(x0, x1, ty_Double)
new_esEs15(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs22(x0, x1, ty_Int)
new_esEs25(x0, x1, ty_@0)
new_esEs15(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, ty_Ordering)
new_esEs25(x0, x1, ty_Float)
new_esEs8(Integer(x0), Integer(x1))
new_esEs24(x0, x1, ty_Integer)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_primPlusNat1(Zero, Zero)
new_esEs7(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Int)
new_esEs6(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs24(x0, x1, ty_Float)
new_esEs7(x0, x1, ty_Float)
new_esEs22(x0, x1, ty_Integer)
new_esEs15(Left(x0), Left(x1), ty_Bool, x2)
new_esEs15(Left(x0), Left(x1), ty_Char, x2)
new_primEqInt(Pos(Zero), Pos(Zero))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs18(Char(x0), Char(x1))
new_esEs25(x0, x1, ty_Char)
new_esEs13([], [], x0)
new_primPlusNat0(Zero, x0)
new_esEs25(x0, x1, ty_Bool)
new_esEs10(:%(x0, x1), :%(x2, x3), x4)
new_esEs6(x0, x1, app(ty_[], x2))
new_esEs15(Right(x0), Right(x1), x2, ty_Double)
new_esEs6(x0, x1, ty_Float)
new_esEs24(x0, x1, ty_Double)
new_esEs14(Double(x0, x1), Double(x2, x3))
new_esEs15(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs24(x0, x1, ty_Ordering)
new_esEs24(x0, x1, ty_Int)
new_esEs12(Just(x0), Just(x1), ty_@0)
new_esEs15(Left(x0), Left(x1), ty_Float, x2)
new_esEs15(Left(x0), Left(x1), ty_Integer, x2)
new_esEs6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                        ↳ DependencyGraphProof
                          ↳ AND
                            ↳ QDP
QDP
                              ↳ UsableRulesProof
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_deleteBy(Right(zu31100), :(Right(zu4600), zu461), bc, bd) → new_deleteBy00(zu461, zu4600, zu31100, new_esEs28(zu31100, zu4600, bd), bc, bd)
new_deleteBy(Right(zu31100), :(Left(zu4600), zu461), bc, bd) → new_deleteBy(Right(zu31100), zu461, bc, bd)
new_deleteBy00(zu62, zu63, zu64, False, be, bf) → new_deleteBy(Right(zu64), zu62, be, bf)

The TRS R consists of the following rules:

new_esEs15(Left(zu311000), Left(zu46000), app(app(app(ty_@3, bah), bba), bbb), cc) → new_esEs17(zu311000, zu46000, bah, bba, bbb)
new_esEs28(zu31100, zu4600, app(ty_[], bda)) → new_esEs13(zu31100, zu4600, bda)
new_esEs6(zu311001, zu46001, ty_@0) → new_esEs20(zu311001, zu46001)
new_esEs18(Char(zu311000), Char(zu46000)) → new_primEqNat0(zu311000, zu46000)
new_primPlusNat1(Succ(zu8000), Succ(zu46000000)) → Succ(Succ(new_primPlusNat1(zu8000, zu46000000)))
new_primEqInt(Neg(Succ(zu3110000)), Pos(zu46000)) → False
new_primEqInt(Pos(Succ(zu3110000)), Neg(zu46000)) → False
new_esEs7(zu311000, zu46000, app(ty_Maybe, ee)) → new_esEs12(zu311000, zu46000, ee)
new_esEs15(Right(zu311000), Left(zu46000), cb, cc) → False
new_esEs15(Left(zu311000), Right(zu46000), cb, cc) → False
new_esEs13([], [], ca) → True
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs7(zu311000, zu46000, app(app(app(ty_@3, fa), fb), fc)) → new_esEs17(zu311000, zu46000, fa, fb, fc)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(app(ty_Either, bbh), bca)) → new_esEs15(zu311000, zu46000, bbh, bca)
new_esEs24(zu311002, zu46002, app(ty_[], bec)) → new_esEs13(zu311002, zu46002, bec)
new_esEs26(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs26(zu311000, zu46000, ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs21(zu311000, zu46000, app(ty_[], ga)) → new_esEs13(zu311000, zu46000, ga)
new_esEs12(Just(zu311000), Just(zu46000), app(ty_Ratio, ha)) → new_esEs10(zu311000, zu46000, ha)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(ty_Ratio, bbe)) → new_esEs10(zu311000, zu46000, bbe)
new_primEqInt(Neg(Zero), Pos(Succ(zu460000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(zu460000))) → False
new_esEs17(@3(zu311000, zu311001, zu311002), @3(zu46000, zu46001, zu46002), cd, ce, cf) → new_asAs(new_esEs26(zu311000, zu46000, cd), new_asAs(new_esEs25(zu311001, zu46001, ce), new_esEs24(zu311002, zu46002, cf)))
new_esEs7(zu311000, zu46000, app(ty_Ratio, ed)) → new_esEs10(zu311000, zu46000, ed)
new_esEs7(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs27(zu31100, zu4600, ty_Ordering) → new_esEs19(zu31100, zu4600)
new_esEs15(Left(zu311000), Left(zu46000), app(app(ty_Either, baf), bag), cc) → new_esEs15(zu311000, zu46000, baf, bag)
new_esEs7(zu311000, zu46000, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), app(app(ty_@2, baa), bab)) → new_esEs5(zu311000, zu46000, baa, bab)
new_esEs26(zu311000, zu46000, app(ty_Maybe, bgf)) → new_esEs12(zu311000, zu46000, bgf)
new_esEs15(Left(zu311000), Left(zu46000), ty_Integer, cc) → new_esEs8(zu311000, zu46000)
new_esEs16(Float(zu311000, zu311001), Float(zu46000, zu46001)) → new_esEs9(new_sr(zu311000, zu46000), new_sr(zu311001, zu46001))
new_esEs6(zu311001, zu46001, ty_Integer) → new_esEs8(zu311001, zu46001)
new_primMulNat0(Zero, Zero) → Zero
new_esEs21(zu311000, zu46000, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs26(zu311000, zu46000, app(app(ty_@2, bhe), bhf)) → new_esEs5(zu311000, zu46000, bhe, bhf)
new_esEs26(zu311000, zu46000, ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs21(zu311000, zu46000, app(app(ty_@2, gg), gh)) → new_esEs5(zu311000, zu46000, gg, gh)
new_esEs26(zu311000, zu46000, app(ty_Ratio, bge)) → new_esEs10(zu311000, zu46000, bge)
new_esEs28(zu31100, zu4600, app(ty_Ratio, bcg)) → new_esEs10(zu31100, zu4600, bcg)
new_esEs6(zu311001, zu46001, app(ty_Ratio, db)) → new_esEs10(zu311001, zu46001, db)
new_esEs21(zu311000, zu46000, app(app(ty_Either, gb), gc)) → new_esEs15(zu311000, zu46000, gb, gc)
new_esEs10(:%(zu311000, zu311001), :%(zu46000, zu46001), bg) → new_asAs(new_esEs23(zu311000, zu46000, bg), new_esEs22(zu311001, zu46001, bg))
new_esEs24(zu311002, zu46002, app(app(app(ty_@3, bef), beg), beh)) → new_esEs17(zu311002, zu46002, bef, beg, beh)
new_primPlusNat0(Zero, zu4600000) → Succ(zu4600000)
new_esEs5(@2(zu311000, zu311001), @2(zu46000, zu46001), cg, da) → new_asAs(new_esEs7(zu311000, zu46000, cg), new_esEs6(zu311001, zu46001, da))
new_esEs21(zu311000, zu46000, ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs7(zu311000, zu46000, app(app(ty_@2, fd), ff)) → new_esEs5(zu311000, zu46000, fd, ff)
new_esEs6(zu311001, zu46001, app(app(app(ty_@3, dg), dh), ea)) → new_esEs17(zu311001, zu46001, dg, dh, ea)
new_esEs24(zu311002, zu46002, ty_Ordering) → new_esEs19(zu311002, zu46002)
new_esEs24(zu311002, zu46002, ty_Integer) → new_esEs8(zu311002, zu46002)
new_esEs12(Just(zu311000), Just(zu46000), ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), app(ty_Ratio, bac), cc) → new_esEs10(zu311000, zu46000, bac)
new_esEs28(zu31100, zu4600, app(app(ty_@2, bdg), bdh)) → new_esEs5(zu31100, zu4600, bdg, bdh)
new_sr(Pos(zu3110000), Neg(zu460000)) → Neg(new_primMulNat0(zu3110000, zu460000))
new_sr(Neg(zu3110000), Pos(zu460000)) → Neg(new_primMulNat0(zu3110000, zu460000))
new_esEs25(zu311001, zu46001, app(app(ty_Either, bff), bfg)) → new_esEs15(zu311001, zu46001, bff, bfg)
new_esEs15(Left(zu311000), Left(zu46000), ty_Int, cc) → new_esEs9(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), app(ty_[], bae), cc) → new_esEs13(zu311000, zu46000, bae)
new_esEs6(zu311001, zu46001, ty_Ordering) → new_esEs19(zu311001, zu46001)
new_esEs19(LT, GT) → False
new_esEs19(GT, LT) → False
new_esEs24(zu311002, zu46002, app(app(ty_@2, bfa), bfb)) → new_esEs5(zu311002, zu46002, bfa, bfb)
new_esEs12(Just(zu311000), Just(zu46000), app(app(ty_Either, hd), he)) → new_esEs15(zu311000, zu46000, hd, he)
new_esEs15(Left(zu311000), Left(zu46000), ty_Char, cc) → new_esEs18(zu311000, zu46000)
new_esEs6(zu311001, zu46001, ty_Bool) → new_esEs11(zu311001, zu46001)
new_esEs25(zu311001, zu46001, ty_Double) → new_esEs14(zu311001, zu46001)
new_esEs27(zu31100, zu4600, ty_Bool) → new_esEs11(zu31100, zu4600)
new_esEs28(zu31100, zu4600, ty_Double) → new_esEs14(zu31100, zu4600)
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), app(app(app(ty_@3, hf), hg), hh)) → new_esEs17(zu311000, zu46000, hf, hg, hh)
new_esEs28(zu31100, zu4600, ty_Ordering) → new_esEs19(zu31100, zu4600)
new_esEs27(zu31100, zu4600, ty_Double) → new_esEs14(zu31100, zu4600)
new_esEs21(zu311000, zu46000, app(ty_Ratio, fg)) → new_esEs10(zu311000, zu46000, fg)
new_esEs26(zu311000, zu46000, app(app(app(ty_@3, bhb), bhc), bhd)) → new_esEs17(zu311000, zu46000, bhb, bhc, bhd)
new_primEqNat0(Zero, Succ(zu460000)) → False
new_primEqNat0(Succ(zu3110000), Zero) → False
new_esEs21(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), app(app(ty_@2, bbc), bbd), cc) → new_esEs5(zu311000, zu46000, bbc, bbd)
new_esEs7(zu311000, zu46000, ty_Float) → new_esEs16(zu311000, zu46000)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs19(GT, GT) → True
new_esEs20(@0, @0) → True
new_esEs14(Double(zu311000, zu311001), Double(zu46000, zu46001)) → new_esEs9(new_sr(zu311000, zu46000), new_sr(zu311001, zu46001))
new_esEs12(Just(zu311000), Just(zu46000), ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs27(zu31100, zu4600, app(app(ty_@2, cg), da)) → new_esEs5(zu31100, zu4600, cg, da)
new_esEs22(zu311001, zu46001, ty_Int) → new_esEs9(zu311001, zu46001)
new_esEs21(zu311000, zu46000, app(ty_Maybe, fh)) → new_esEs12(zu311000, zu46000, fh)
new_esEs24(zu311002, zu46002, ty_Int) → new_esEs9(zu311002, zu46002)
new_esEs27(zu31100, zu4600, app(ty_Ratio, bg)) → new_esEs10(zu31100, zu4600, bg)
new_esEs28(zu31100, zu4600, ty_@0) → new_esEs20(zu31100, zu4600)
new_esEs12(Just(zu311000), Just(zu46000), ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), ty_Ordering, cc) → new_esEs19(zu311000, zu46000)
new_esEs25(zu311001, zu46001, ty_Ordering) → new_esEs19(zu311001, zu46001)
new_esEs11(True, False) → False
new_esEs11(False, True) → False
new_esEs12(Just(zu311000), Just(zu46000), app(ty_[], hc)) → new_esEs13(zu311000, zu46000, hc)
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs27(zu31100, zu4600, app(app(app(ty_@3, cd), ce), cf)) → new_esEs17(zu31100, zu4600, cd, ce, cf)
new_esEs6(zu311001, zu46001, app(app(ty_@2, eb), ec)) → new_esEs5(zu311001, zu46001, eb, ec)
new_esEs27(zu31100, zu4600, ty_Int) → new_esEs9(zu31100, zu4600)
new_esEs19(LT, LT) → True
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs23(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs19(EQ, GT) → False
new_esEs19(GT, EQ) → False
new_esEs21(zu311000, zu46000, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs21(zu311000, zu46000, app(app(app(ty_@3, gd), ge), gf)) → new_esEs17(zu311000, zu46000, gd, ge, gf)
new_esEs26(zu311000, zu46000, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs13(:(zu311000, zu311001), :(zu46000, zu46001), ca) → new_asAs(new_esEs21(zu311000, zu46000, ca), new_esEs13(zu311001, zu46001, ca))
new_sr(Neg(zu3110000), Neg(zu460000)) → Pos(new_primMulNat0(zu3110000, zu460000))
new_esEs28(zu31100, zu4600, ty_Bool) → new_esEs11(zu31100, zu4600)
new_esEs15(Left(zu311000), Left(zu46000), ty_Bool, cc) → new_esEs11(zu311000, zu46000)
new_esEs12(Nothing, Just(zu46000), bh) → False
new_esEs12(Just(zu311000), Nothing, bh) → False
new_sr(Pos(zu3110000), Pos(zu460000)) → Pos(new_primMulNat0(zu3110000, zu460000))
new_asAs(False, zu79) → False
new_esEs27(zu31100, zu4600, app(ty_Maybe, bh)) → new_esEs12(zu31100, zu4600, bh)
new_primEqNat0(Zero, Zero) → True
new_esEs6(zu311001, zu46001, app(ty_Maybe, dc)) → new_esEs12(zu311001, zu46001, dc)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(app(app(ty_@3, bcb), bcc), bcd)) → new_esEs17(zu311000, zu46000, bcb, bcc, bcd)
new_esEs13([], :(zu46000, zu46001), ca) → False
new_esEs13(:(zu311000, zu311001), [], ca) → False
new_primMulNat0(Succ(zu31100000), Zero) → Zero
new_primMulNat0(Zero, Succ(zu4600000)) → Zero
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs25(zu311001, zu46001, ty_Integer) → new_esEs8(zu311001, zu46001)
new_esEs15(Left(zu311000), Left(zu46000), app(ty_Maybe, bad), cc) → new_esEs12(zu311000, zu46000, bad)
new_esEs25(zu311001, zu46001, app(app(app(ty_@3, bfh), bga), bgb)) → new_esEs17(zu311001, zu46001, bfh, bga, bgb)
new_esEs23(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs12(Nothing, Nothing, bh) → True
new_esEs6(zu311001, zu46001, ty_Int) → new_esEs9(zu311001, zu46001)
new_esEs6(zu311001, zu46001, app(ty_[], dd)) → new_esEs13(zu311001, zu46001, dd)
new_esEs8(Integer(zu311000), Integer(zu46000)) → new_primEqInt(zu311000, zu46000)
new_esEs6(zu311001, zu46001, ty_Char) → new_esEs18(zu311001, zu46001)
new_esEs11(True, True) → True
new_esEs26(zu311000, zu46000, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs6(zu311001, zu46001, ty_Double) → new_esEs14(zu311001, zu46001)
new_esEs24(zu311002, zu46002, app(ty_Ratio, bea)) → new_esEs10(zu311002, zu46002, bea)
new_esEs27(zu31100, zu4600, ty_@0) → new_esEs20(zu31100, zu4600)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(ty_[], bbg)) → new_esEs13(zu311000, zu46000, bbg)
new_esEs6(zu311001, zu46001, ty_Float) → new_esEs16(zu311001, zu46001)
new_primPlusNat0(Succ(zu800), zu4600000) → Succ(Succ(new_primPlusNat1(zu800, zu4600000)))
new_esEs7(zu311000, zu46000, ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs25(zu311001, zu46001, app(ty_[], bfe)) → new_esEs13(zu311001, zu46001, bfe)
new_esEs26(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs25(zu311001, zu46001, ty_Float) → new_esEs16(zu311001, zu46001)
new_esEs27(zu31100, zu4600, ty_Integer) → new_esEs8(zu31100, zu4600)
new_esEs21(zu311000, zu46000, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs25(zu311001, zu46001, app(ty_Maybe, bfd)) → new_esEs12(zu311001, zu46001, bfd)
new_esEs15(Left(zu311000), Left(zu46000), ty_@0, cc) → new_esEs20(zu311000, zu46000)
new_esEs28(zu31100, zu4600, ty_Float) → new_esEs16(zu31100, zu4600)
new_esEs12(Just(zu311000), Just(zu46000), ty_Char) → new_esEs18(zu311000, zu46000)
new_primEqInt(Neg(Succ(zu3110000)), Neg(Succ(zu460000))) → new_primEqNat0(zu3110000, zu460000)
new_esEs6(zu311001, zu46001, app(app(ty_Either, de), df)) → new_esEs15(zu311001, zu46001, de, df)
new_esEs25(zu311001, zu46001, ty_Bool) → new_esEs11(zu311001, zu46001)
new_esEs26(zu311000, zu46000, app(ty_[], bgg)) → new_esEs13(zu311000, zu46000, bgg)
new_esEs19(EQ, EQ) → True
new_esEs24(zu311002, zu46002, app(ty_Maybe, beb)) → new_esEs12(zu311002, zu46002, beb)
new_primPlusNat1(Succ(zu8000), Zero) → Succ(zu8000)
new_primPlusNat1(Zero, Succ(zu46000000)) → Succ(zu46000000)
new_esEs25(zu311001, zu46001, app(ty_Ratio, bfc)) → new_esEs10(zu311001, zu46001, bfc)
new_esEs28(zu31100, zu4600, app(app(ty_Either, bdb), bdc)) → new_esEs15(zu31100, zu4600, bdb, bdc)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(app(ty_@2, bce), bcf)) → new_esEs5(zu311000, zu46000, bce, bcf)
new_esEs28(zu31100, zu4600, app(app(app(ty_@3, bdd), bde), bdf)) → new_esEs17(zu31100, zu4600, bdd, bde, bdf)
new_esEs25(zu311001, zu46001, app(app(ty_@2, bgc), bgd)) → new_esEs5(zu311001, zu46001, bgc, bgd)
new_esEs15(Left(zu311000), Left(zu46000), ty_Float, cc) → new_esEs16(zu311000, zu46000)
new_esEs25(zu311001, zu46001, ty_Char) → new_esEs18(zu311001, zu46001)
new_esEs7(zu311000, zu46000, app(ty_[], ef)) → new_esEs13(zu311000, zu46000, ef)
new_esEs21(zu311000, zu46000, ty_Double) → new_esEs14(zu311000, zu46000)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs7(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs28(zu31100, zu4600, ty_Int) → new_esEs9(zu31100, zu4600)
new_esEs7(zu311000, zu46000, app(app(ty_Either, eg), eh)) → new_esEs15(zu311000, zu46000, eg, eh)
new_primEqInt(Neg(Zero), Neg(Succ(zu460000))) → False
new_primEqInt(Neg(Succ(zu3110000)), Neg(Zero)) → False
new_esEs22(zu311001, zu46001, ty_Integer) → new_esEs8(zu311001, zu46001)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(ty_Maybe, bbf)) → new_esEs12(zu311000, zu46000, bbf)
new_esEs26(zu311000, zu46000, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), app(ty_Maybe, hb)) → new_esEs12(zu311000, zu46000, hb)
new_esEs7(zu311000, zu46000, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_primPlusNat1(Zero, Zero) → Zero
new_esEs7(zu311000, zu46000, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs24(zu311002, zu46002, ty_Float) → new_esEs16(zu311002, zu46002)
new_esEs7(zu311000, zu46000, ty_@0) → new_esEs20(zu311000, zu46000)
new_asAs(True, zu79) → zu79
new_esEs15(Left(zu311000), Left(zu46000), ty_Double, cc) → new_esEs14(zu311000, zu46000)
new_esEs24(zu311002, zu46002, app(app(ty_Either, bed), bee)) → new_esEs15(zu311002, zu46002, bed, bee)
new_esEs21(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs27(zu31100, zu4600, ty_Float) → new_esEs16(zu31100, zu4600)
new_primMulNat0(Succ(zu31100000), Succ(zu4600000)) → new_primPlusNat0(new_primMulNat0(zu31100000, Succ(zu4600000)), zu4600000)
new_esEs27(zu31100, zu4600, app(ty_[], ca)) → new_esEs13(zu31100, zu4600, ca)
new_esEs19(LT, EQ) → False
new_esEs19(EQ, LT) → False
new_esEs28(zu31100, zu4600, app(ty_Maybe, bch)) → new_esEs12(zu31100, zu4600, bch)
new_esEs11(False, False) → True
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs28(zu31100, zu4600, ty_Integer) → new_esEs8(zu31100, zu4600)
new_primEqInt(Pos(Succ(zu3110000)), Pos(Succ(zu460000))) → new_primEqNat0(zu3110000, zu460000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs25(zu311001, zu46001, ty_Int) → new_esEs9(zu311001, zu46001)
new_primEqNat0(Succ(zu3110000), Succ(zu460000)) → new_primEqNat0(zu3110000, zu460000)
new_esEs9(zu31100, zu4600) → new_primEqInt(zu31100, zu4600)
new_esEs27(zu31100, zu4600, ty_Char) → new_esEs18(zu31100, zu4600)
new_esEs26(zu311000, zu46000, ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs28(zu31100, zu4600, ty_Char) → new_esEs18(zu31100, zu4600)
new_esEs25(zu311001, zu46001, ty_@0) → new_esEs20(zu311001, zu46001)
new_esEs24(zu311002, zu46002, ty_Bool) → new_esEs11(zu311002, zu46002)
new_esEs27(zu31100, zu4600, app(app(ty_Either, cb), cc)) → new_esEs15(zu31100, zu4600, cb, cc)
new_esEs21(zu311000, zu46000, ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs24(zu311002, zu46002, ty_Char) → new_esEs18(zu311002, zu46002)
new_primEqInt(Pos(Zero), Pos(Succ(zu460000))) → False
new_primEqInt(Pos(Succ(zu3110000)), Pos(Zero)) → False
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs26(zu311000, zu46000, app(app(ty_Either, bgh), bha)) → new_esEs15(zu311000, zu46000, bgh, bha)
new_esEs24(zu311002, zu46002, ty_@0) → new_esEs20(zu311002, zu46002)
new_esEs24(zu311002, zu46002, ty_Double) → new_esEs14(zu311002, zu46002)

The set Q consists of the following terms:

new_esEs28(x0, x1, ty_Int)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(x0, x1, ty_Int)
new_esEs12(Just(x0), Just(x1), ty_Integer)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_esEs11(True, True)
new_esEs7(x0, x1, ty_@0)
new_esEs21(x0, x1, ty_Integer)
new_esEs21(x0, x1, ty_Bool)
new_esEs15(Right(x0), Right(x1), x2, ty_Int)
new_esEs26(x0, x1, ty_Int)
new_esEs26(x0, x1, ty_@0)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_esEs12(Just(x0), Just(x1), ty_Bool)
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Double)
new_esEs27(x0, x1, ty_Ordering)
new_esEs27(x0, x1, ty_@0)
new_primPlusNat0(Succ(x0), x1)
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_asAs(False, x0)
new_esEs16(Float(x0, x1), Float(x2, x3))
new_esEs7(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_@0)
new_esEs6(x0, x1, app(ty_Ratio, x2))
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primPlusNat1(Succ(x0), Zero)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs6(x0, x1, ty_Double)
new_sr(Pos(x0), Pos(x1))
new_esEs28(x0, x1, app(ty_[], x2))
new_esEs12(Just(x0), Just(x1), ty_Int)
new_esEs7(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Double)
new_esEs15(Right(x0), Right(x1), x2, ty_@0)
new_esEs11(True, False)
new_esEs11(False, True)
new_esEs7(x0, x1, ty_Char)
new_esEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Char)
new_esEs17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs15(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs12(Nothing, Nothing, x0)
new_esEs25(x0, x1, ty_Ordering)
new_esEs6(x0, x1, ty_Integer)
new_esEs6(x0, x1, ty_Ordering)
new_esEs26(x0, x1, ty_Bool)
new_esEs13(:(x0, x1), :(x2, x3), x4)
new_esEs24(x0, x1, ty_@0)
new_esEs6(x0, x1, ty_Char)
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_primEqNat0(Succ(x0), Succ(x1))
new_primMulNat0(Zero, Succ(x0))
new_esEs15(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs15(Left(x0), Left(x1), ty_@0, x2)
new_esEs15(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs27(x0, x1, ty_Int)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_asAs(True, x0)
new_sr(Pos(x0), Neg(x1))
new_sr(Neg(x0), Pos(x1))
new_esEs6(x0, x1, app(ty_Maybe, x2))
new_esEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Float)
new_esEs15(Left(x0), Left(x1), ty_Double, x2)
new_esEs27(x0, x1, ty_Integer)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs15(Right(x0), Right(x1), x2, ty_Bool)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs12(Just(x0), Just(x1), ty_Double)
new_esEs28(x0, x1, ty_Double)
new_esEs15(Right(x0), Right(x1), x2, ty_Integer)
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs21(x0, x1, app(ty_[], x2))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs15(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs28(x0, x1, ty_Bool)
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_esEs15(Left(x0), Left(x1), ty_Int, x2)
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_Integer)
new_primEqNat0(Zero, Zero)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_sr(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs15(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, ty_Char)
new_esEs28(x0, x1, ty_Integer)
new_esEs19(GT, GT)
new_esEs6(x0, x1, ty_@0)
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_esEs28(x0, x1, ty_@0)
new_esEs15(Right(x0), Right(x1), x2, ty_Char)
new_esEs27(x0, x1, ty_Float)
new_esEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs5(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs12(Just(x0), Just(x1), ty_Char)
new_esEs28(x0, x1, ty_Float)
new_primMulNat0(Zero, Zero)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs19(EQ, EQ)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs6(x0, x1, ty_Bool)
new_esEs15(Left(x0), Right(x1), x2, x3)
new_esEs15(Right(x0), Left(x1), x2, x3)
new_esEs15(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs6(x0, x1, ty_Int)
new_esEs24(x0, x1, ty_Bool)
new_esEs15(Right(x0), Right(x1), x2, ty_Float)
new_primEqNat0(Succ(x0), Zero)
new_esEs26(x0, x1, ty_Char)
new_esEs19(LT, EQ)
new_esEs19(EQ, LT)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs12(Just(x0), Nothing, x1)
new_esEs13(:(x0, x1), [], x2)
new_esEs7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(x0, x1, app(ty_[], x2))
new_esEs12(Nothing, Just(x0), x1)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs21(x0, x1, ty_Char)
new_esEs19(LT, GT)
new_esEs19(GT, LT)
new_esEs6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs13([], :(x0, x1), x2)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs19(LT, LT)
new_esEs21(x0, x1, ty_Int)
new_esEs24(x0, x1, ty_Char)
new_esEs19(GT, EQ)
new_esEs19(EQ, GT)
new_esEs15(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs26(x0, x1, ty_Double)
new_primMulNat0(Succ(x0), Zero)
new_esEs21(x0, x1, ty_Ordering)
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(x0, x1, app(app(ty_@2, x2), x3))
new_primEqNat0(Zero, Succ(x0))
new_esEs12(Just(x0), Just(x1), ty_Ordering)
new_esEs9(x0, x1)
new_esEs24(x0, x1, app(ty_[], x2))
new_esEs7(x0, x1, ty_Ordering)
new_primPlusNat1(Succ(x0), Succ(x1))
new_esEs26(x0, x1, ty_Integer)
new_esEs12(Just(x0), Just(x1), app(ty_[], x2))
new_esEs15(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(x0, x1, app(ty_Ratio, x2))
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs20(@0, @0)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs15(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs11(False, False)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs7(x0, x1, ty_Integer)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_Int)
new_esEs25(x0, x1, ty_Integer)
new_esEs15(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs26(x0, x1, ty_Float)
new_esEs12(Just(x0), Just(x1), ty_Float)
new_esEs15(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs25(x0, x1, ty_Double)
new_esEs15(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs22(x0, x1, ty_Int)
new_esEs25(x0, x1, ty_@0)
new_esEs15(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, ty_Ordering)
new_esEs25(x0, x1, ty_Float)
new_esEs8(Integer(x0), Integer(x1))
new_esEs24(x0, x1, ty_Integer)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_primPlusNat1(Zero, Zero)
new_esEs7(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Int)
new_esEs6(x0, x1, app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, ty_Ordering)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs24(x0, x1, ty_Float)
new_esEs7(x0, x1, ty_Float)
new_esEs22(x0, x1, ty_Integer)
new_esEs15(Left(x0), Left(x1), ty_Bool, x2)
new_esEs15(Left(x0), Left(x1), ty_Char, x2)
new_primEqInt(Pos(Zero), Pos(Zero))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs18(Char(x0), Char(x1))
new_esEs25(x0, x1, ty_Char)
new_esEs13([], [], x0)
new_primPlusNat0(Zero, x0)
new_esEs25(x0, x1, ty_Bool)
new_esEs10(:%(x0, x1), :%(x2, x3), x4)
new_esEs6(x0, x1, app(ty_[], x2))
new_esEs15(Right(x0), Right(x1), x2, ty_Double)
new_esEs6(x0, x1, ty_Float)
new_esEs24(x0, x1, ty_Double)
new_esEs14(Double(x0, x1), Double(x2, x3))
new_esEs15(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs24(x0, x1, ty_Ordering)
new_esEs24(x0, x1, ty_Int)
new_esEs12(Just(x0), Just(x1), ty_@0)
new_esEs15(Left(x0), Left(x1), ty_Float, x2)
new_esEs15(Left(x0), Left(x1), ty_Integer, x2)
new_esEs6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                        ↳ DependencyGraphProof
                          ↳ AND
                            ↳ QDP
                            ↳ QDP
                              ↳ UsableRulesProof
QDP
                                  ↳ QReductionProof
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_deleteBy(Right(zu31100), :(Right(zu4600), zu461), bc, bd) → new_deleteBy00(zu461, zu4600, zu31100, new_esEs28(zu31100, zu4600, bd), bc, bd)
new_deleteBy(Right(zu31100), :(Left(zu4600), zu461), bc, bd) → new_deleteBy(Right(zu31100), zu461, bc, bd)
new_deleteBy00(zu62, zu63, zu64, False, be, bf) → new_deleteBy(Right(zu64), zu62, be, bf)

The TRS R consists of the following rules:

new_esEs28(zu31100, zu4600, app(ty_[], bda)) → new_esEs13(zu31100, zu4600, bda)
new_esEs28(zu31100, zu4600, app(ty_Ratio, bcg)) → new_esEs10(zu31100, zu4600, bcg)
new_esEs28(zu31100, zu4600, app(app(ty_@2, bdg), bdh)) → new_esEs5(zu31100, zu4600, bdg, bdh)
new_esEs28(zu31100, zu4600, ty_Double) → new_esEs14(zu31100, zu4600)
new_esEs28(zu31100, zu4600, ty_Ordering) → new_esEs19(zu31100, zu4600)
new_esEs28(zu31100, zu4600, ty_@0) → new_esEs20(zu31100, zu4600)
new_esEs28(zu31100, zu4600, ty_Bool) → new_esEs11(zu31100, zu4600)
new_esEs28(zu31100, zu4600, ty_Float) → new_esEs16(zu31100, zu4600)
new_esEs28(zu31100, zu4600, app(app(ty_Either, bdb), bdc)) → new_esEs15(zu31100, zu4600, bdb, bdc)
new_esEs28(zu31100, zu4600, app(app(app(ty_@3, bdd), bde), bdf)) → new_esEs17(zu31100, zu4600, bdd, bde, bdf)
new_esEs28(zu31100, zu4600, ty_Int) → new_esEs9(zu31100, zu4600)
new_esEs28(zu31100, zu4600, app(ty_Maybe, bch)) → new_esEs12(zu31100, zu4600, bch)
new_esEs28(zu31100, zu4600, ty_Integer) → new_esEs8(zu31100, zu4600)
new_esEs28(zu31100, zu4600, ty_Char) → new_esEs18(zu31100, zu4600)
new_esEs18(Char(zu311000), Char(zu46000)) → new_primEqNat0(zu311000, zu46000)
new_primEqNat0(Zero, Succ(zu460000)) → False
new_primEqNat0(Succ(zu3110000), Zero) → False
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(zu3110000), Succ(zu460000)) → new_primEqNat0(zu3110000, zu460000)
new_esEs8(Integer(zu311000), Integer(zu46000)) → new_primEqInt(zu311000, zu46000)
new_primEqInt(Neg(Succ(zu3110000)), Pos(zu46000)) → False
new_primEqInt(Pos(Succ(zu3110000)), Neg(zu46000)) → False
new_primEqInt(Neg(Zero), Pos(Succ(zu460000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(zu460000))) → False
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_primEqInt(Neg(Succ(zu3110000)), Neg(Succ(zu460000))) → new_primEqNat0(zu3110000, zu460000)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Neg(Succ(zu460000))) → False
new_primEqInt(Neg(Succ(zu3110000)), Neg(Zero)) → False
new_primEqInt(Pos(Succ(zu3110000)), Pos(Succ(zu460000))) → new_primEqNat0(zu3110000, zu460000)
new_primEqInt(Pos(Zero), Pos(Succ(zu460000))) → False
new_primEqInt(Pos(Succ(zu3110000)), Pos(Zero)) → False
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs12(Just(zu311000), Just(zu46000), app(ty_Ratio, ha)) → new_esEs10(zu311000, zu46000, ha)
new_esEs12(Just(zu311000), Just(zu46000), app(app(ty_@2, baa), bab)) → new_esEs5(zu311000, zu46000, baa, bab)
new_esEs12(Just(zu311000), Just(zu46000), ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), app(app(app(ty_@3, hf), hg), hh)) → new_esEs17(zu311000, zu46000, hf, hg, hh)
new_esEs12(Just(zu311000), Just(zu46000), ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), app(ty_[], hc)) → new_esEs13(zu311000, zu46000, hc)
new_esEs12(Nothing, Just(zu46000), bh) → False
new_esEs12(Just(zu311000), Nothing, bh) → False
new_esEs12(Just(zu311000), Just(zu46000), ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs12(Nothing, Nothing, bh) → True
new_esEs12(Just(zu311000), Just(zu46000), ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), app(ty_Maybe, hb)) → new_esEs12(zu311000, zu46000, hb)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(app(ty_Either, bbh), bca)) → new_esEs15(zu311000, zu46000, bbh, bca)
new_esEs15(Left(zu311000), Left(zu46000), app(ty_Maybe, bad), cc) → new_esEs12(zu311000, zu46000, bad)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(ty_Maybe, bbf)) → new_esEs12(zu311000, zu46000, bbf)
new_esEs12(Just(zu311000), Just(zu46000), app(app(ty_Either, hd), he)) → new_esEs15(zu311000, zu46000, hd, he)
new_esEs15(Left(zu311000), Left(zu46000), app(app(ty_Either, baf), bag), cc) → new_esEs15(zu311000, zu46000, baf, bag)
new_esEs15(Left(zu311000), Left(zu46000), app(app(app(ty_@3, bah), bba), bbb), cc) → new_esEs17(zu311000, zu46000, bah, bba, bbb)
new_esEs15(Right(zu311000), Left(zu46000), cb, cc) → False
new_esEs15(Left(zu311000), Right(zu46000), cb, cc) → False
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(ty_Ratio, bbe)) → new_esEs10(zu311000, zu46000, bbe)
new_esEs15(Left(zu311000), Left(zu46000), ty_Integer, cc) → new_esEs8(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), app(ty_Ratio, bac), cc) → new_esEs10(zu311000, zu46000, bac)
new_esEs15(Left(zu311000), Left(zu46000), ty_Int, cc) → new_esEs9(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), app(ty_[], bae), cc) → new_esEs13(zu311000, zu46000, bae)
new_esEs15(Left(zu311000), Left(zu46000), ty_Char, cc) → new_esEs18(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), app(app(ty_@2, bbc), bbd), cc) → new_esEs5(zu311000, zu46000, bbc, bbd)
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), ty_Ordering, cc) → new_esEs19(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), ty_Bool, cc) → new_esEs11(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(app(app(ty_@3, bcb), bcc), bcd)) → new_esEs17(zu311000, zu46000, bcb, bcc, bcd)
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(ty_[], bbg)) → new_esEs13(zu311000, zu46000, bbg)
new_esEs15(Left(zu311000), Left(zu46000), ty_@0, cc) → new_esEs20(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(app(ty_@2, bce), bcf)) → new_esEs5(zu311000, zu46000, bce, bcf)
new_esEs15(Left(zu311000), Left(zu46000), ty_Float, cc) → new_esEs16(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), ty_Double, cc) → new_esEs14(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs9(zu31100, zu4600) → new_primEqInt(zu31100, zu4600)
new_esEs14(Double(zu311000, zu311001), Double(zu46000, zu46001)) → new_esEs9(new_sr(zu311000, zu46000), new_sr(zu311001, zu46001))
new_sr(Pos(zu3110000), Neg(zu460000)) → Neg(new_primMulNat0(zu3110000, zu460000))
new_sr(Neg(zu3110000), Pos(zu460000)) → Neg(new_primMulNat0(zu3110000, zu460000))
new_sr(Neg(zu3110000), Neg(zu460000)) → Pos(new_primMulNat0(zu3110000, zu460000))
new_sr(Pos(zu3110000), Pos(zu460000)) → Pos(new_primMulNat0(zu3110000, zu460000))
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zu31100000), Zero) → Zero
new_primMulNat0(Zero, Succ(zu4600000)) → Zero
new_primMulNat0(Succ(zu31100000), Succ(zu4600000)) → new_primPlusNat0(new_primMulNat0(zu31100000, Succ(zu4600000)), zu4600000)
new_primPlusNat0(Zero, zu4600000) → Succ(zu4600000)
new_primPlusNat0(Succ(zu800), zu4600000) → Succ(Succ(new_primPlusNat1(zu800, zu4600000)))
new_primPlusNat1(Succ(zu8000), Succ(zu46000000)) → Succ(Succ(new_primPlusNat1(zu8000, zu46000000)))
new_primPlusNat1(Succ(zu8000), Zero) → Succ(zu8000)
new_primPlusNat1(Zero, Succ(zu46000000)) → Succ(zu46000000)
new_primPlusNat1(Zero, Zero) → Zero
new_esEs16(Float(zu311000, zu311001), Float(zu46000, zu46001)) → new_esEs9(new_sr(zu311000, zu46000), new_sr(zu311001, zu46001))
new_esEs5(@2(zu311000, zu311001), @2(zu46000, zu46001), cg, da) → new_asAs(new_esEs7(zu311000, zu46000, cg), new_esEs6(zu311001, zu46001, da))
new_esEs7(zu311000, zu46000, app(ty_Maybe, ee)) → new_esEs12(zu311000, zu46000, ee)
new_esEs7(zu311000, zu46000, app(app(app(ty_@3, fa), fb), fc)) → new_esEs17(zu311000, zu46000, fa, fb, fc)
new_esEs7(zu311000, zu46000, app(ty_Ratio, ed)) → new_esEs10(zu311000, zu46000, ed)
new_esEs7(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs7(zu311000, zu46000, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs7(zu311000, zu46000, app(app(ty_@2, fd), ff)) → new_esEs5(zu311000, zu46000, fd, ff)
new_esEs7(zu311000, zu46000, ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs7(zu311000, zu46000, ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs7(zu311000, zu46000, app(ty_[], ef)) → new_esEs13(zu311000, zu46000, ef)
new_esEs7(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs7(zu311000, zu46000, app(app(ty_Either, eg), eh)) → new_esEs15(zu311000, zu46000, eg, eh)
new_esEs7(zu311000, zu46000, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs7(zu311000, zu46000, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs7(zu311000, zu46000, ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs6(zu311001, zu46001, ty_@0) → new_esEs20(zu311001, zu46001)
new_esEs6(zu311001, zu46001, ty_Integer) → new_esEs8(zu311001, zu46001)
new_esEs6(zu311001, zu46001, app(ty_Ratio, db)) → new_esEs10(zu311001, zu46001, db)
new_esEs6(zu311001, zu46001, app(app(app(ty_@3, dg), dh), ea)) → new_esEs17(zu311001, zu46001, dg, dh, ea)
new_esEs6(zu311001, zu46001, ty_Ordering) → new_esEs19(zu311001, zu46001)
new_esEs6(zu311001, zu46001, ty_Bool) → new_esEs11(zu311001, zu46001)
new_esEs6(zu311001, zu46001, app(app(ty_@2, eb), ec)) → new_esEs5(zu311001, zu46001, eb, ec)
new_esEs6(zu311001, zu46001, app(ty_Maybe, dc)) → new_esEs12(zu311001, zu46001, dc)
new_esEs6(zu311001, zu46001, ty_Int) → new_esEs9(zu311001, zu46001)
new_esEs6(zu311001, zu46001, app(ty_[], dd)) → new_esEs13(zu311001, zu46001, dd)
new_esEs6(zu311001, zu46001, ty_Char) → new_esEs18(zu311001, zu46001)
new_esEs6(zu311001, zu46001, ty_Double) → new_esEs14(zu311001, zu46001)
new_esEs6(zu311001, zu46001, ty_Float) → new_esEs16(zu311001, zu46001)
new_esEs6(zu311001, zu46001, app(app(ty_Either, de), df)) → new_esEs15(zu311001, zu46001, de, df)
new_asAs(False, zu79) → False
new_asAs(True, zu79) → zu79
new_esEs13([], [], ca) → True
new_esEs13(:(zu311000, zu311001), :(zu46000, zu46001), ca) → new_asAs(new_esEs21(zu311000, zu46000, ca), new_esEs13(zu311001, zu46001, ca))
new_esEs13([], :(zu46000, zu46001), ca) → False
new_esEs13(:(zu311000, zu311001), [], ca) → False
new_esEs21(zu311000, zu46000, app(ty_[], ga)) → new_esEs13(zu311000, zu46000, ga)
new_esEs21(zu311000, zu46000, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs21(zu311000, zu46000, app(app(ty_@2, gg), gh)) → new_esEs5(zu311000, zu46000, gg, gh)
new_esEs21(zu311000, zu46000, app(app(ty_Either, gb), gc)) → new_esEs15(zu311000, zu46000, gb, gc)
new_esEs21(zu311000, zu46000, ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs21(zu311000, zu46000, app(ty_Ratio, fg)) → new_esEs10(zu311000, zu46000, fg)
new_esEs21(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs21(zu311000, zu46000, app(ty_Maybe, fh)) → new_esEs12(zu311000, zu46000, fh)
new_esEs21(zu311000, zu46000, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs21(zu311000, zu46000, app(app(app(ty_@3, gd), ge), gf)) → new_esEs17(zu311000, zu46000, gd, ge, gf)
new_esEs21(zu311000, zu46000, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs21(zu311000, zu46000, ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs21(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs21(zu311000, zu46000, ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs19(LT, GT) → False
new_esEs19(GT, LT) → False
new_esEs19(GT, GT) → True
new_esEs19(LT, LT) → True
new_esEs19(EQ, GT) → False
new_esEs19(GT, EQ) → False
new_esEs19(EQ, EQ) → True
new_esEs19(LT, EQ) → False
new_esEs19(EQ, LT) → False
new_esEs17(@3(zu311000, zu311001, zu311002), @3(zu46000, zu46001, zu46002), cd, ce, cf) → new_asAs(new_esEs26(zu311000, zu46000, cd), new_asAs(new_esEs25(zu311001, zu46001, ce), new_esEs24(zu311002, zu46002, cf)))
new_esEs26(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs26(zu311000, zu46000, ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs26(zu311000, zu46000, app(ty_Maybe, bgf)) → new_esEs12(zu311000, zu46000, bgf)
new_esEs26(zu311000, zu46000, app(app(ty_@2, bhe), bhf)) → new_esEs5(zu311000, zu46000, bhe, bhf)
new_esEs26(zu311000, zu46000, ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs26(zu311000, zu46000, app(ty_Ratio, bge)) → new_esEs10(zu311000, zu46000, bge)
new_esEs26(zu311000, zu46000, app(app(app(ty_@3, bhb), bhc), bhd)) → new_esEs17(zu311000, zu46000, bhb, bhc, bhd)
new_esEs26(zu311000, zu46000, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs26(zu311000, zu46000, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs26(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs26(zu311000, zu46000, app(ty_[], bgg)) → new_esEs13(zu311000, zu46000, bgg)
new_esEs26(zu311000, zu46000, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs26(zu311000, zu46000, ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs26(zu311000, zu46000, app(app(ty_Either, bgh), bha)) → new_esEs15(zu311000, zu46000, bgh, bha)
new_esEs25(zu311001, zu46001, app(app(ty_Either, bff), bfg)) → new_esEs15(zu311001, zu46001, bff, bfg)
new_esEs25(zu311001, zu46001, ty_Double) → new_esEs14(zu311001, zu46001)
new_esEs25(zu311001, zu46001, ty_Ordering) → new_esEs19(zu311001, zu46001)
new_esEs25(zu311001, zu46001, ty_Integer) → new_esEs8(zu311001, zu46001)
new_esEs25(zu311001, zu46001, app(app(app(ty_@3, bfh), bga), bgb)) → new_esEs17(zu311001, zu46001, bfh, bga, bgb)
new_esEs25(zu311001, zu46001, app(ty_[], bfe)) → new_esEs13(zu311001, zu46001, bfe)
new_esEs25(zu311001, zu46001, ty_Float) → new_esEs16(zu311001, zu46001)
new_esEs25(zu311001, zu46001, app(ty_Maybe, bfd)) → new_esEs12(zu311001, zu46001, bfd)
new_esEs25(zu311001, zu46001, ty_Bool) → new_esEs11(zu311001, zu46001)
new_esEs25(zu311001, zu46001, app(ty_Ratio, bfc)) → new_esEs10(zu311001, zu46001, bfc)
new_esEs25(zu311001, zu46001, app(app(ty_@2, bgc), bgd)) → new_esEs5(zu311001, zu46001, bgc, bgd)
new_esEs25(zu311001, zu46001, ty_Char) → new_esEs18(zu311001, zu46001)
new_esEs25(zu311001, zu46001, ty_Int) → new_esEs9(zu311001, zu46001)
new_esEs25(zu311001, zu46001, ty_@0) → new_esEs20(zu311001, zu46001)
new_esEs24(zu311002, zu46002, app(ty_[], bec)) → new_esEs13(zu311002, zu46002, bec)
new_esEs24(zu311002, zu46002, app(app(app(ty_@3, bef), beg), beh)) → new_esEs17(zu311002, zu46002, bef, beg, beh)
new_esEs24(zu311002, zu46002, ty_Ordering) → new_esEs19(zu311002, zu46002)
new_esEs24(zu311002, zu46002, ty_Integer) → new_esEs8(zu311002, zu46002)
new_esEs24(zu311002, zu46002, app(app(ty_@2, bfa), bfb)) → new_esEs5(zu311002, zu46002, bfa, bfb)
new_esEs24(zu311002, zu46002, ty_Int) → new_esEs9(zu311002, zu46002)
new_esEs24(zu311002, zu46002, app(ty_Ratio, bea)) → new_esEs10(zu311002, zu46002, bea)
new_esEs24(zu311002, zu46002, app(ty_Maybe, beb)) → new_esEs12(zu311002, zu46002, beb)
new_esEs24(zu311002, zu46002, ty_Float) → new_esEs16(zu311002, zu46002)
new_esEs24(zu311002, zu46002, app(app(ty_Either, bed), bee)) → new_esEs15(zu311002, zu46002, bed, bee)
new_esEs24(zu311002, zu46002, ty_Bool) → new_esEs11(zu311002, zu46002)
new_esEs24(zu311002, zu46002, ty_Char) → new_esEs18(zu311002, zu46002)
new_esEs24(zu311002, zu46002, ty_@0) → new_esEs20(zu311002, zu46002)
new_esEs24(zu311002, zu46002, ty_Double) → new_esEs14(zu311002, zu46002)
new_esEs20(@0, @0) → True
new_esEs11(True, False) → False
new_esEs11(False, True) → False
new_esEs11(True, True) → True
new_esEs11(False, False) → True
new_esEs10(:%(zu311000, zu311001), :%(zu46000, zu46001), bg) → new_asAs(new_esEs23(zu311000, zu46000, bg), new_esEs22(zu311001, zu46001, bg))
new_esEs23(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs23(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs22(zu311001, zu46001, ty_Int) → new_esEs9(zu311001, zu46001)
new_esEs22(zu311001, zu46001, ty_Integer) → new_esEs8(zu311001, zu46001)

The set Q consists of the following terms:

new_esEs28(x0, x1, ty_Int)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(x0, x1, ty_Int)
new_esEs12(Just(x0), Just(x1), ty_Integer)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_esEs11(True, True)
new_esEs7(x0, x1, ty_@0)
new_esEs21(x0, x1, ty_Integer)
new_esEs21(x0, x1, ty_Bool)
new_esEs15(Right(x0), Right(x1), x2, ty_Int)
new_esEs26(x0, x1, ty_Int)
new_esEs26(x0, x1, ty_@0)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_esEs12(Just(x0), Just(x1), ty_Bool)
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Double)
new_esEs27(x0, x1, ty_Ordering)
new_esEs27(x0, x1, ty_@0)
new_primPlusNat0(Succ(x0), x1)
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_asAs(False, x0)
new_esEs16(Float(x0, x1), Float(x2, x3))
new_esEs7(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_@0)
new_esEs6(x0, x1, app(ty_Ratio, x2))
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primPlusNat1(Succ(x0), Zero)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs6(x0, x1, ty_Double)
new_sr(Pos(x0), Pos(x1))
new_esEs28(x0, x1, app(ty_[], x2))
new_esEs12(Just(x0), Just(x1), ty_Int)
new_esEs7(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Double)
new_esEs15(Right(x0), Right(x1), x2, ty_@0)
new_esEs11(True, False)
new_esEs11(False, True)
new_esEs7(x0, x1, ty_Char)
new_esEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Char)
new_esEs17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs15(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs12(Nothing, Nothing, x0)
new_esEs25(x0, x1, ty_Ordering)
new_esEs6(x0, x1, ty_Integer)
new_esEs6(x0, x1, ty_Ordering)
new_esEs26(x0, x1, ty_Bool)
new_esEs13(:(x0, x1), :(x2, x3), x4)
new_esEs24(x0, x1, ty_@0)
new_esEs6(x0, x1, ty_Char)
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_primEqNat0(Succ(x0), Succ(x1))
new_primMulNat0(Zero, Succ(x0))
new_esEs15(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs15(Left(x0), Left(x1), ty_@0, x2)
new_esEs15(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs27(x0, x1, ty_Int)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_asAs(True, x0)
new_sr(Pos(x0), Neg(x1))
new_sr(Neg(x0), Pos(x1))
new_esEs6(x0, x1, app(ty_Maybe, x2))
new_esEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Float)
new_esEs15(Left(x0), Left(x1), ty_Double, x2)
new_esEs27(x0, x1, ty_Integer)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs15(Right(x0), Right(x1), x2, ty_Bool)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs12(Just(x0), Just(x1), ty_Double)
new_esEs28(x0, x1, ty_Double)
new_esEs15(Right(x0), Right(x1), x2, ty_Integer)
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs21(x0, x1, app(ty_[], x2))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs15(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs28(x0, x1, ty_Bool)
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_esEs15(Left(x0), Left(x1), ty_Int, x2)
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_Integer)
new_primEqNat0(Zero, Zero)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_sr(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs15(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, ty_Char)
new_esEs28(x0, x1, ty_Integer)
new_esEs19(GT, GT)
new_esEs6(x0, x1, ty_@0)
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_esEs28(x0, x1, ty_@0)
new_esEs15(Right(x0), Right(x1), x2, ty_Char)
new_esEs27(x0, x1, ty_Float)
new_esEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs5(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs12(Just(x0), Just(x1), ty_Char)
new_esEs28(x0, x1, ty_Float)
new_primMulNat0(Zero, Zero)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs19(EQ, EQ)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs6(x0, x1, ty_Bool)
new_esEs15(Left(x0), Right(x1), x2, x3)
new_esEs15(Right(x0), Left(x1), x2, x3)
new_esEs15(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs6(x0, x1, ty_Int)
new_esEs24(x0, x1, ty_Bool)
new_esEs15(Right(x0), Right(x1), x2, ty_Float)
new_primEqNat0(Succ(x0), Zero)
new_esEs26(x0, x1, ty_Char)
new_esEs19(LT, EQ)
new_esEs19(EQ, LT)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs12(Just(x0), Nothing, x1)
new_esEs13(:(x0, x1), [], x2)
new_esEs7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(x0, x1, app(ty_[], x2))
new_esEs12(Nothing, Just(x0), x1)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs21(x0, x1, ty_Char)
new_esEs19(LT, GT)
new_esEs19(GT, LT)
new_esEs6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs13([], :(x0, x1), x2)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs19(LT, LT)
new_esEs21(x0, x1, ty_Int)
new_esEs24(x0, x1, ty_Char)
new_esEs19(GT, EQ)
new_esEs19(EQ, GT)
new_esEs15(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs26(x0, x1, ty_Double)
new_primMulNat0(Succ(x0), Zero)
new_esEs21(x0, x1, ty_Ordering)
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(x0, x1, app(app(ty_@2, x2), x3))
new_primEqNat0(Zero, Succ(x0))
new_esEs12(Just(x0), Just(x1), ty_Ordering)
new_esEs9(x0, x1)
new_esEs24(x0, x1, app(ty_[], x2))
new_esEs7(x0, x1, ty_Ordering)
new_primPlusNat1(Succ(x0), Succ(x1))
new_esEs26(x0, x1, ty_Integer)
new_esEs12(Just(x0), Just(x1), app(ty_[], x2))
new_esEs15(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(x0, x1, app(ty_Ratio, x2))
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs20(@0, @0)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs15(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs11(False, False)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs7(x0, x1, ty_Integer)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_Int)
new_esEs25(x0, x1, ty_Integer)
new_esEs15(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs26(x0, x1, ty_Float)
new_esEs12(Just(x0), Just(x1), ty_Float)
new_esEs15(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs25(x0, x1, ty_Double)
new_esEs15(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs22(x0, x1, ty_Int)
new_esEs25(x0, x1, ty_@0)
new_esEs15(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, ty_Ordering)
new_esEs25(x0, x1, ty_Float)
new_esEs8(Integer(x0), Integer(x1))
new_esEs24(x0, x1, ty_Integer)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_primPlusNat1(Zero, Zero)
new_esEs7(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Int)
new_esEs6(x0, x1, app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, ty_Ordering)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs24(x0, x1, ty_Float)
new_esEs7(x0, x1, ty_Float)
new_esEs22(x0, x1, ty_Integer)
new_esEs15(Left(x0), Left(x1), ty_Bool, x2)
new_esEs15(Left(x0), Left(x1), ty_Char, x2)
new_primEqInt(Pos(Zero), Pos(Zero))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs18(Char(x0), Char(x1))
new_esEs25(x0, x1, ty_Char)
new_esEs13([], [], x0)
new_primPlusNat0(Zero, x0)
new_esEs25(x0, x1, ty_Bool)
new_esEs10(:%(x0, x1), :%(x2, x3), x4)
new_esEs6(x0, x1, app(ty_[], x2))
new_esEs15(Right(x0), Right(x1), x2, ty_Double)
new_esEs6(x0, x1, ty_Float)
new_esEs24(x0, x1, ty_Double)
new_esEs14(Double(x0, x1), Double(x2, x3))
new_esEs15(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs24(x0, x1, ty_Ordering)
new_esEs24(x0, x1, ty_Int)
new_esEs12(Just(x0), Just(x1), ty_@0)
new_esEs15(Left(x0), Left(x1), ty_Float, x2)
new_esEs15(Left(x0), Left(x1), ty_Integer, x2)
new_esEs6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_esEs27(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Double)
new_esEs27(x0, x1, ty_Ordering)
new_esEs27(x0, x1, ty_@0)
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_Int)
new_esEs27(x0, x1, ty_Bool)
new_esEs27(x0, x1, ty_Integer)
new_esEs27(x0, x1, ty_Float)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))



↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                        ↳ DependencyGraphProof
                          ↳ AND
                            ↳ QDP
                            ↳ QDP
                              ↳ UsableRulesProof
                                ↳ QDP
                                  ↳ QReductionProof
QDP
                                      ↳ QDPSizeChangeProof
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_deleteBy(Right(zu31100), :(Right(zu4600), zu461), bc, bd) → new_deleteBy00(zu461, zu4600, zu31100, new_esEs28(zu31100, zu4600, bd), bc, bd)
new_deleteBy(Right(zu31100), :(Left(zu4600), zu461), bc, bd) → new_deleteBy(Right(zu31100), zu461, bc, bd)
new_deleteBy00(zu62, zu63, zu64, False, be, bf) → new_deleteBy(Right(zu64), zu62, be, bf)

The TRS R consists of the following rules:

new_esEs28(zu31100, zu4600, app(ty_[], bda)) → new_esEs13(zu31100, zu4600, bda)
new_esEs28(zu31100, zu4600, app(ty_Ratio, bcg)) → new_esEs10(zu31100, zu4600, bcg)
new_esEs28(zu31100, zu4600, app(app(ty_@2, bdg), bdh)) → new_esEs5(zu31100, zu4600, bdg, bdh)
new_esEs28(zu31100, zu4600, ty_Double) → new_esEs14(zu31100, zu4600)
new_esEs28(zu31100, zu4600, ty_Ordering) → new_esEs19(zu31100, zu4600)
new_esEs28(zu31100, zu4600, ty_@0) → new_esEs20(zu31100, zu4600)
new_esEs28(zu31100, zu4600, ty_Bool) → new_esEs11(zu31100, zu4600)
new_esEs28(zu31100, zu4600, ty_Float) → new_esEs16(zu31100, zu4600)
new_esEs28(zu31100, zu4600, app(app(ty_Either, bdb), bdc)) → new_esEs15(zu31100, zu4600, bdb, bdc)
new_esEs28(zu31100, zu4600, app(app(app(ty_@3, bdd), bde), bdf)) → new_esEs17(zu31100, zu4600, bdd, bde, bdf)
new_esEs28(zu31100, zu4600, ty_Int) → new_esEs9(zu31100, zu4600)
new_esEs28(zu31100, zu4600, app(ty_Maybe, bch)) → new_esEs12(zu31100, zu4600, bch)
new_esEs28(zu31100, zu4600, ty_Integer) → new_esEs8(zu31100, zu4600)
new_esEs28(zu31100, zu4600, ty_Char) → new_esEs18(zu31100, zu4600)
new_esEs18(Char(zu311000), Char(zu46000)) → new_primEqNat0(zu311000, zu46000)
new_primEqNat0(Zero, Succ(zu460000)) → False
new_primEqNat0(Succ(zu3110000), Zero) → False
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(zu3110000), Succ(zu460000)) → new_primEqNat0(zu3110000, zu460000)
new_esEs8(Integer(zu311000), Integer(zu46000)) → new_primEqInt(zu311000, zu46000)
new_primEqInt(Neg(Succ(zu3110000)), Pos(zu46000)) → False
new_primEqInt(Pos(Succ(zu3110000)), Neg(zu46000)) → False
new_primEqInt(Neg(Zero), Pos(Succ(zu460000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(zu460000))) → False
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_primEqInt(Neg(Succ(zu3110000)), Neg(Succ(zu460000))) → new_primEqNat0(zu3110000, zu460000)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Neg(Succ(zu460000))) → False
new_primEqInt(Neg(Succ(zu3110000)), Neg(Zero)) → False
new_primEqInt(Pos(Succ(zu3110000)), Pos(Succ(zu460000))) → new_primEqNat0(zu3110000, zu460000)
new_primEqInt(Pos(Zero), Pos(Succ(zu460000))) → False
new_primEqInt(Pos(Succ(zu3110000)), Pos(Zero)) → False
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs12(Just(zu311000), Just(zu46000), app(ty_Ratio, ha)) → new_esEs10(zu311000, zu46000, ha)
new_esEs12(Just(zu311000), Just(zu46000), app(app(ty_@2, baa), bab)) → new_esEs5(zu311000, zu46000, baa, bab)
new_esEs12(Just(zu311000), Just(zu46000), ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), app(app(app(ty_@3, hf), hg), hh)) → new_esEs17(zu311000, zu46000, hf, hg, hh)
new_esEs12(Just(zu311000), Just(zu46000), ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), app(ty_[], hc)) → new_esEs13(zu311000, zu46000, hc)
new_esEs12(Nothing, Just(zu46000), bh) → False
new_esEs12(Just(zu311000), Nothing, bh) → False
new_esEs12(Just(zu311000), Just(zu46000), ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs12(Nothing, Nothing, bh) → True
new_esEs12(Just(zu311000), Just(zu46000), ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), app(ty_Maybe, hb)) → new_esEs12(zu311000, zu46000, hb)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(app(ty_Either, bbh), bca)) → new_esEs15(zu311000, zu46000, bbh, bca)
new_esEs15(Left(zu311000), Left(zu46000), app(ty_Maybe, bad), cc) → new_esEs12(zu311000, zu46000, bad)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(ty_Maybe, bbf)) → new_esEs12(zu311000, zu46000, bbf)
new_esEs12(Just(zu311000), Just(zu46000), app(app(ty_Either, hd), he)) → new_esEs15(zu311000, zu46000, hd, he)
new_esEs15(Left(zu311000), Left(zu46000), app(app(ty_Either, baf), bag), cc) → new_esEs15(zu311000, zu46000, baf, bag)
new_esEs15(Left(zu311000), Left(zu46000), app(app(app(ty_@3, bah), bba), bbb), cc) → new_esEs17(zu311000, zu46000, bah, bba, bbb)
new_esEs15(Right(zu311000), Left(zu46000), cb, cc) → False
new_esEs15(Left(zu311000), Right(zu46000), cb, cc) → False
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(ty_Ratio, bbe)) → new_esEs10(zu311000, zu46000, bbe)
new_esEs15(Left(zu311000), Left(zu46000), ty_Integer, cc) → new_esEs8(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), app(ty_Ratio, bac), cc) → new_esEs10(zu311000, zu46000, bac)
new_esEs15(Left(zu311000), Left(zu46000), ty_Int, cc) → new_esEs9(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), app(ty_[], bae), cc) → new_esEs13(zu311000, zu46000, bae)
new_esEs15(Left(zu311000), Left(zu46000), ty_Char, cc) → new_esEs18(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), app(app(ty_@2, bbc), bbd), cc) → new_esEs5(zu311000, zu46000, bbc, bbd)
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), ty_Ordering, cc) → new_esEs19(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), ty_Bool, cc) → new_esEs11(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(app(app(ty_@3, bcb), bcc), bcd)) → new_esEs17(zu311000, zu46000, bcb, bcc, bcd)
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(ty_[], bbg)) → new_esEs13(zu311000, zu46000, bbg)
new_esEs15(Left(zu311000), Left(zu46000), ty_@0, cc) → new_esEs20(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, app(app(ty_@2, bce), bcf)) → new_esEs5(zu311000, zu46000, bce, bcf)
new_esEs15(Left(zu311000), Left(zu46000), ty_Float, cc) → new_esEs16(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), ty_Double, cc) → new_esEs14(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), cb, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs9(zu31100, zu4600) → new_primEqInt(zu31100, zu4600)
new_esEs14(Double(zu311000, zu311001), Double(zu46000, zu46001)) → new_esEs9(new_sr(zu311000, zu46000), new_sr(zu311001, zu46001))
new_sr(Pos(zu3110000), Neg(zu460000)) → Neg(new_primMulNat0(zu3110000, zu460000))
new_sr(Neg(zu3110000), Pos(zu460000)) → Neg(new_primMulNat0(zu3110000, zu460000))
new_sr(Neg(zu3110000), Neg(zu460000)) → Pos(new_primMulNat0(zu3110000, zu460000))
new_sr(Pos(zu3110000), Pos(zu460000)) → Pos(new_primMulNat0(zu3110000, zu460000))
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zu31100000), Zero) → Zero
new_primMulNat0(Zero, Succ(zu4600000)) → Zero
new_primMulNat0(Succ(zu31100000), Succ(zu4600000)) → new_primPlusNat0(new_primMulNat0(zu31100000, Succ(zu4600000)), zu4600000)
new_primPlusNat0(Zero, zu4600000) → Succ(zu4600000)
new_primPlusNat0(Succ(zu800), zu4600000) → Succ(Succ(new_primPlusNat1(zu800, zu4600000)))
new_primPlusNat1(Succ(zu8000), Succ(zu46000000)) → Succ(Succ(new_primPlusNat1(zu8000, zu46000000)))
new_primPlusNat1(Succ(zu8000), Zero) → Succ(zu8000)
new_primPlusNat1(Zero, Succ(zu46000000)) → Succ(zu46000000)
new_primPlusNat1(Zero, Zero) → Zero
new_esEs16(Float(zu311000, zu311001), Float(zu46000, zu46001)) → new_esEs9(new_sr(zu311000, zu46000), new_sr(zu311001, zu46001))
new_esEs5(@2(zu311000, zu311001), @2(zu46000, zu46001), cg, da) → new_asAs(new_esEs7(zu311000, zu46000, cg), new_esEs6(zu311001, zu46001, da))
new_esEs7(zu311000, zu46000, app(ty_Maybe, ee)) → new_esEs12(zu311000, zu46000, ee)
new_esEs7(zu311000, zu46000, app(app(app(ty_@3, fa), fb), fc)) → new_esEs17(zu311000, zu46000, fa, fb, fc)
new_esEs7(zu311000, zu46000, app(ty_Ratio, ed)) → new_esEs10(zu311000, zu46000, ed)
new_esEs7(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs7(zu311000, zu46000, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs7(zu311000, zu46000, app(app(ty_@2, fd), ff)) → new_esEs5(zu311000, zu46000, fd, ff)
new_esEs7(zu311000, zu46000, ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs7(zu311000, zu46000, ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs7(zu311000, zu46000, app(ty_[], ef)) → new_esEs13(zu311000, zu46000, ef)
new_esEs7(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs7(zu311000, zu46000, app(app(ty_Either, eg), eh)) → new_esEs15(zu311000, zu46000, eg, eh)
new_esEs7(zu311000, zu46000, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs7(zu311000, zu46000, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs7(zu311000, zu46000, ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs6(zu311001, zu46001, ty_@0) → new_esEs20(zu311001, zu46001)
new_esEs6(zu311001, zu46001, ty_Integer) → new_esEs8(zu311001, zu46001)
new_esEs6(zu311001, zu46001, app(ty_Ratio, db)) → new_esEs10(zu311001, zu46001, db)
new_esEs6(zu311001, zu46001, app(app(app(ty_@3, dg), dh), ea)) → new_esEs17(zu311001, zu46001, dg, dh, ea)
new_esEs6(zu311001, zu46001, ty_Ordering) → new_esEs19(zu311001, zu46001)
new_esEs6(zu311001, zu46001, ty_Bool) → new_esEs11(zu311001, zu46001)
new_esEs6(zu311001, zu46001, app(app(ty_@2, eb), ec)) → new_esEs5(zu311001, zu46001, eb, ec)
new_esEs6(zu311001, zu46001, app(ty_Maybe, dc)) → new_esEs12(zu311001, zu46001, dc)
new_esEs6(zu311001, zu46001, ty_Int) → new_esEs9(zu311001, zu46001)
new_esEs6(zu311001, zu46001, app(ty_[], dd)) → new_esEs13(zu311001, zu46001, dd)
new_esEs6(zu311001, zu46001, ty_Char) → new_esEs18(zu311001, zu46001)
new_esEs6(zu311001, zu46001, ty_Double) → new_esEs14(zu311001, zu46001)
new_esEs6(zu311001, zu46001, ty_Float) → new_esEs16(zu311001, zu46001)
new_esEs6(zu311001, zu46001, app(app(ty_Either, de), df)) → new_esEs15(zu311001, zu46001, de, df)
new_asAs(False, zu79) → False
new_asAs(True, zu79) → zu79
new_esEs13([], [], ca) → True
new_esEs13(:(zu311000, zu311001), :(zu46000, zu46001), ca) → new_asAs(new_esEs21(zu311000, zu46000, ca), new_esEs13(zu311001, zu46001, ca))
new_esEs13([], :(zu46000, zu46001), ca) → False
new_esEs13(:(zu311000, zu311001), [], ca) → False
new_esEs21(zu311000, zu46000, app(ty_[], ga)) → new_esEs13(zu311000, zu46000, ga)
new_esEs21(zu311000, zu46000, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs21(zu311000, zu46000, app(app(ty_@2, gg), gh)) → new_esEs5(zu311000, zu46000, gg, gh)
new_esEs21(zu311000, zu46000, app(app(ty_Either, gb), gc)) → new_esEs15(zu311000, zu46000, gb, gc)
new_esEs21(zu311000, zu46000, ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs21(zu311000, zu46000, app(ty_Ratio, fg)) → new_esEs10(zu311000, zu46000, fg)
new_esEs21(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs21(zu311000, zu46000, app(ty_Maybe, fh)) → new_esEs12(zu311000, zu46000, fh)
new_esEs21(zu311000, zu46000, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs21(zu311000, zu46000, app(app(app(ty_@3, gd), ge), gf)) → new_esEs17(zu311000, zu46000, gd, ge, gf)
new_esEs21(zu311000, zu46000, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs21(zu311000, zu46000, ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs21(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs21(zu311000, zu46000, ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs19(LT, GT) → False
new_esEs19(GT, LT) → False
new_esEs19(GT, GT) → True
new_esEs19(LT, LT) → True
new_esEs19(EQ, GT) → False
new_esEs19(GT, EQ) → False
new_esEs19(EQ, EQ) → True
new_esEs19(LT, EQ) → False
new_esEs19(EQ, LT) → False
new_esEs17(@3(zu311000, zu311001, zu311002), @3(zu46000, zu46001, zu46002), cd, ce, cf) → new_asAs(new_esEs26(zu311000, zu46000, cd), new_asAs(new_esEs25(zu311001, zu46001, ce), new_esEs24(zu311002, zu46002, cf)))
new_esEs26(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs26(zu311000, zu46000, ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs26(zu311000, zu46000, app(ty_Maybe, bgf)) → new_esEs12(zu311000, zu46000, bgf)
new_esEs26(zu311000, zu46000, app(app(ty_@2, bhe), bhf)) → new_esEs5(zu311000, zu46000, bhe, bhf)
new_esEs26(zu311000, zu46000, ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs26(zu311000, zu46000, app(ty_Ratio, bge)) → new_esEs10(zu311000, zu46000, bge)
new_esEs26(zu311000, zu46000, app(app(app(ty_@3, bhb), bhc), bhd)) → new_esEs17(zu311000, zu46000, bhb, bhc, bhd)
new_esEs26(zu311000, zu46000, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs26(zu311000, zu46000, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs26(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs26(zu311000, zu46000, app(ty_[], bgg)) → new_esEs13(zu311000, zu46000, bgg)
new_esEs26(zu311000, zu46000, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs26(zu311000, zu46000, ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs26(zu311000, zu46000, app(app(ty_Either, bgh), bha)) → new_esEs15(zu311000, zu46000, bgh, bha)
new_esEs25(zu311001, zu46001, app(app(ty_Either, bff), bfg)) → new_esEs15(zu311001, zu46001, bff, bfg)
new_esEs25(zu311001, zu46001, ty_Double) → new_esEs14(zu311001, zu46001)
new_esEs25(zu311001, zu46001, ty_Ordering) → new_esEs19(zu311001, zu46001)
new_esEs25(zu311001, zu46001, ty_Integer) → new_esEs8(zu311001, zu46001)
new_esEs25(zu311001, zu46001, app(app(app(ty_@3, bfh), bga), bgb)) → new_esEs17(zu311001, zu46001, bfh, bga, bgb)
new_esEs25(zu311001, zu46001, app(ty_[], bfe)) → new_esEs13(zu311001, zu46001, bfe)
new_esEs25(zu311001, zu46001, ty_Float) → new_esEs16(zu311001, zu46001)
new_esEs25(zu311001, zu46001, app(ty_Maybe, bfd)) → new_esEs12(zu311001, zu46001, bfd)
new_esEs25(zu311001, zu46001, ty_Bool) → new_esEs11(zu311001, zu46001)
new_esEs25(zu311001, zu46001, app(ty_Ratio, bfc)) → new_esEs10(zu311001, zu46001, bfc)
new_esEs25(zu311001, zu46001, app(app(ty_@2, bgc), bgd)) → new_esEs5(zu311001, zu46001, bgc, bgd)
new_esEs25(zu311001, zu46001, ty_Char) → new_esEs18(zu311001, zu46001)
new_esEs25(zu311001, zu46001, ty_Int) → new_esEs9(zu311001, zu46001)
new_esEs25(zu311001, zu46001, ty_@0) → new_esEs20(zu311001, zu46001)
new_esEs24(zu311002, zu46002, app(ty_[], bec)) → new_esEs13(zu311002, zu46002, bec)
new_esEs24(zu311002, zu46002, app(app(app(ty_@3, bef), beg), beh)) → new_esEs17(zu311002, zu46002, bef, beg, beh)
new_esEs24(zu311002, zu46002, ty_Ordering) → new_esEs19(zu311002, zu46002)
new_esEs24(zu311002, zu46002, ty_Integer) → new_esEs8(zu311002, zu46002)
new_esEs24(zu311002, zu46002, app(app(ty_@2, bfa), bfb)) → new_esEs5(zu311002, zu46002, bfa, bfb)
new_esEs24(zu311002, zu46002, ty_Int) → new_esEs9(zu311002, zu46002)
new_esEs24(zu311002, zu46002, app(ty_Ratio, bea)) → new_esEs10(zu311002, zu46002, bea)
new_esEs24(zu311002, zu46002, app(ty_Maybe, beb)) → new_esEs12(zu311002, zu46002, beb)
new_esEs24(zu311002, zu46002, ty_Float) → new_esEs16(zu311002, zu46002)
new_esEs24(zu311002, zu46002, app(app(ty_Either, bed), bee)) → new_esEs15(zu311002, zu46002, bed, bee)
new_esEs24(zu311002, zu46002, ty_Bool) → new_esEs11(zu311002, zu46002)
new_esEs24(zu311002, zu46002, ty_Char) → new_esEs18(zu311002, zu46002)
new_esEs24(zu311002, zu46002, ty_@0) → new_esEs20(zu311002, zu46002)
new_esEs24(zu311002, zu46002, ty_Double) → new_esEs14(zu311002, zu46002)
new_esEs20(@0, @0) → True
new_esEs11(True, False) → False
new_esEs11(False, True) → False
new_esEs11(True, True) → True
new_esEs11(False, False) → True
new_esEs10(:%(zu311000, zu311001), :%(zu46000, zu46001), bg) → new_asAs(new_esEs23(zu311000, zu46000, bg), new_esEs22(zu311001, zu46001, bg))
new_esEs23(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs23(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs22(zu311001, zu46001, ty_Int) → new_esEs9(zu311001, zu46001)
new_esEs22(zu311001, zu46001, ty_Integer) → new_esEs8(zu311001, zu46001)

The set Q consists of the following terms:

new_esEs28(x0, x1, ty_Int)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(x0, x1, ty_Int)
new_esEs12(Just(x0), Just(x1), ty_Integer)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_esEs11(True, True)
new_esEs7(x0, x1, ty_@0)
new_esEs21(x0, x1, ty_Integer)
new_esEs21(x0, x1, ty_Bool)
new_esEs15(Right(x0), Right(x1), x2, ty_Int)
new_esEs26(x0, x1, ty_Int)
new_esEs26(x0, x1, ty_@0)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_esEs12(Just(x0), Just(x1), ty_Bool)
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_primPlusNat0(Succ(x0), x1)
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_asAs(False, x0)
new_esEs16(Float(x0, x1), Float(x2, x3))
new_esEs7(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_@0)
new_esEs6(x0, x1, app(ty_Ratio, x2))
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primPlusNat1(Succ(x0), Zero)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs6(x0, x1, ty_Double)
new_sr(Pos(x0), Pos(x1))
new_esEs28(x0, x1, app(ty_[], x2))
new_esEs12(Just(x0), Just(x1), ty_Int)
new_esEs7(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Double)
new_esEs15(Right(x0), Right(x1), x2, ty_@0)
new_esEs11(True, False)
new_esEs11(False, True)
new_esEs7(x0, x1, ty_Char)
new_esEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs15(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs12(Nothing, Nothing, x0)
new_esEs25(x0, x1, ty_Ordering)
new_esEs6(x0, x1, ty_Integer)
new_esEs6(x0, x1, ty_Ordering)
new_esEs26(x0, x1, ty_Bool)
new_esEs13(:(x0, x1), :(x2, x3), x4)
new_esEs24(x0, x1, ty_@0)
new_esEs6(x0, x1, ty_Char)
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_primEqNat0(Succ(x0), Succ(x1))
new_primMulNat0(Zero, Succ(x0))
new_esEs15(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs15(Left(x0), Left(x1), ty_@0, x2)
new_esEs15(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_asAs(True, x0)
new_sr(Pos(x0), Neg(x1))
new_sr(Neg(x0), Pos(x1))
new_esEs6(x0, x1, app(ty_Maybe, x2))
new_esEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs21(x0, x1, ty_Float)
new_esEs15(Left(x0), Left(x1), ty_Double, x2)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs15(Right(x0), Right(x1), x2, ty_Bool)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs12(Just(x0), Just(x1), ty_Double)
new_esEs28(x0, x1, ty_Double)
new_esEs15(Right(x0), Right(x1), x2, ty_Integer)
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs21(x0, x1, app(ty_[], x2))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs15(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs28(x0, x1, ty_Bool)
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_esEs15(Left(x0), Left(x1), ty_Int, x2)
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_Integer)
new_primEqNat0(Zero, Zero)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_sr(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs15(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, ty_Char)
new_esEs28(x0, x1, ty_Integer)
new_esEs19(GT, GT)
new_esEs6(x0, x1, ty_@0)
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_esEs28(x0, x1, ty_@0)
new_esEs15(Right(x0), Right(x1), x2, ty_Char)
new_esEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs5(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs12(Just(x0), Just(x1), ty_Char)
new_esEs28(x0, x1, ty_Float)
new_primMulNat0(Zero, Zero)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs19(EQ, EQ)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs6(x0, x1, ty_Bool)
new_esEs15(Left(x0), Right(x1), x2, x3)
new_esEs15(Right(x0), Left(x1), x2, x3)
new_esEs15(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs6(x0, x1, ty_Int)
new_esEs24(x0, x1, ty_Bool)
new_esEs15(Right(x0), Right(x1), x2, ty_Float)
new_primEqNat0(Succ(x0), Zero)
new_esEs26(x0, x1, ty_Char)
new_esEs19(LT, EQ)
new_esEs19(EQ, LT)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs12(Just(x0), Nothing, x1)
new_esEs13(:(x0, x1), [], x2)
new_esEs7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(x0, x1, app(ty_[], x2))
new_esEs12(Nothing, Just(x0), x1)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs21(x0, x1, ty_Char)
new_esEs19(LT, GT)
new_esEs19(GT, LT)
new_esEs6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs13([], :(x0, x1), x2)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs19(LT, LT)
new_esEs21(x0, x1, ty_Int)
new_esEs24(x0, x1, ty_Char)
new_esEs19(GT, EQ)
new_esEs19(EQ, GT)
new_esEs15(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs26(x0, x1, ty_Double)
new_primMulNat0(Succ(x0), Zero)
new_esEs21(x0, x1, ty_Ordering)
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(x0, x1, app(app(ty_@2, x2), x3))
new_primEqNat0(Zero, Succ(x0))
new_esEs12(Just(x0), Just(x1), ty_Ordering)
new_esEs9(x0, x1)
new_esEs24(x0, x1, app(ty_[], x2))
new_esEs7(x0, x1, ty_Ordering)
new_primPlusNat1(Succ(x0), Succ(x1))
new_esEs26(x0, x1, ty_Integer)
new_esEs12(Just(x0), Just(x1), app(ty_[], x2))
new_esEs15(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(x0, x1, app(ty_Ratio, x2))
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs20(@0, @0)
new_esEs15(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs11(False, False)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs7(x0, x1, ty_Integer)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_Int)
new_esEs25(x0, x1, ty_Integer)
new_esEs15(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs26(x0, x1, ty_Float)
new_esEs12(Just(x0), Just(x1), ty_Float)
new_esEs15(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs25(x0, x1, ty_Double)
new_esEs15(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs22(x0, x1, ty_Int)
new_esEs25(x0, x1, ty_@0)
new_esEs15(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs26(x0, x1, ty_Ordering)
new_esEs25(x0, x1, ty_Float)
new_esEs8(Integer(x0), Integer(x1))
new_esEs24(x0, x1, ty_Integer)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_primPlusNat1(Zero, Zero)
new_esEs7(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Int)
new_esEs6(x0, x1, app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, ty_Ordering)
new_esEs24(x0, x1, ty_Float)
new_esEs7(x0, x1, ty_Float)
new_esEs22(x0, x1, ty_Integer)
new_esEs15(Left(x0), Left(x1), ty_Bool, x2)
new_esEs15(Left(x0), Left(x1), ty_Char, x2)
new_primEqInt(Pos(Zero), Pos(Zero))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs18(Char(x0), Char(x1))
new_esEs25(x0, x1, ty_Char)
new_esEs13([], [], x0)
new_primPlusNat0(Zero, x0)
new_esEs25(x0, x1, ty_Bool)
new_esEs10(:%(x0, x1), :%(x2, x3), x4)
new_esEs6(x0, x1, app(ty_[], x2))
new_esEs15(Right(x0), Right(x1), x2, ty_Double)
new_esEs6(x0, x1, ty_Float)
new_esEs24(x0, x1, ty_Double)
new_esEs14(Double(x0, x1), Double(x2, x3))
new_esEs15(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs24(x0, x1, ty_Ordering)
new_esEs24(x0, x1, ty_Int)
new_esEs12(Just(x0), Just(x1), ty_@0)
new_esEs15(Left(x0), Left(x1), ty_Float, x2)
new_esEs15(Left(x0), Left(x1), ty_Integer, x2)
new_esEs6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
QDP
                        ↳ QDPSizeChangeProof
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_foldl(zu46, :(zu3110, zu3111), ba, bb) → new_foldl(new_deleteBy1(zu3110, zu46, ba, bb), zu3111, ba, bb)

The TRS R consists of the following rules:

new_esEs15(Left(zu311000), Left(zu46000), app(app(app(ty_@3, bbh), bca), bcb), gc) → new_esEs17(zu311000, zu46000, bbh, bca, bcb)
new_esEs6(zu311001, zu46001, ty_@0) → new_esEs20(zu311001, zu46001)
new_esEs28(zu31100, zu4600, app(ty_[], ha)) → new_esEs13(zu31100, zu4600, ha)
new_esEs18(Char(zu311000), Char(zu46000)) → new_primEqNat0(zu311000, zu46000)
new_primPlusNat1(Succ(zu8000), Succ(zu46000000)) → Succ(Succ(new_primPlusNat1(zu8000, zu46000000)))
new_deleteBy1(Right(zu31100), :(Right(zu4600), zu461), ba, bb) → new_deleteBy02(zu461, zu4600, zu31100, new_esEs28(zu31100, zu4600, bb), ba, bb)
new_primEqInt(Neg(Succ(zu3110000)), Pos(zu46000)) → False
new_primEqInt(Pos(Succ(zu3110000)), Neg(zu46000)) → False
new_esEs7(zu311000, zu46000, app(ty_Maybe, da)) → new_esEs12(zu311000, zu46000, da)
new_esEs15(Right(zu311000), Left(zu46000), gb, gc) → False
new_esEs15(Left(zu311000), Right(zu46000), gb, gc) → False
new_esEs13([], [], eb) → True
new_esEs15(Right(zu311000), Right(zu46000), gb, ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs7(zu311000, zu46000, app(app(app(ty_@3, de), df), dg)) → new_esEs17(zu311000, zu46000, de, df, dg)
new_esEs15(Right(zu311000), Right(zu46000), gb, app(app(ty_Either, bch), bda)) → new_esEs15(zu311000, zu46000, bch, bda)
new_esEs24(zu311002, zu46002, app(ty_[], bec)) → new_esEs13(zu311002, zu46002, bec)
new_esEs26(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs26(zu311000, zu46000, ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), app(ty_Ratio, baa)) → new_esEs10(zu311000, zu46000, baa)
new_esEs21(zu311000, zu46000, app(ty_[], ee)) → new_esEs13(zu311000, zu46000, ee)
new_esEs15(Right(zu311000), Right(zu46000), gb, app(ty_Ratio, bce)) → new_esEs10(zu311000, zu46000, bce)
new_primEqInt(Neg(Zero), Pos(Succ(zu460000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(zu460000))) → False
new_esEs17(@3(zu311000, zu311001, zu311002), @3(zu46000, zu46001, zu46002), gd, ge, gf) → new_asAs(new_esEs26(zu311000, zu46000, gd), new_asAs(new_esEs25(zu311001, zu46001, ge), new_esEs24(zu311002, zu46002, gf)))
new_esEs7(zu311000, zu46000, app(ty_Ratio, cg)) → new_esEs10(zu311000, zu46000, cg)
new_esEs7(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs27(zu31100, zu4600, ty_Ordering) → new_esEs19(zu31100, zu4600)
new_esEs15(Left(zu311000), Left(zu46000), app(app(ty_Either, bbf), bbg), gc) → new_esEs15(zu311000, zu46000, bbf, bbg)
new_esEs12(Just(zu311000), Just(zu46000), app(app(ty_@2, bba), bbb)) → new_esEs5(zu311000, zu46000, bba, bbb)
new_esEs7(zu311000, zu46000, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs26(zu311000, zu46000, app(ty_Maybe, bgf)) → new_esEs12(zu311000, zu46000, bgf)
new_esEs15(Left(zu311000), Left(zu46000), ty_Integer, gc) → new_esEs8(zu311000, zu46000)
new_esEs16(Float(zu311000, zu311001), Float(zu46000, zu46001)) → new_esEs9(new_sr(zu311000, zu46000), new_sr(zu311001, zu46001))
new_esEs6(zu311001, zu46001, ty_Integer) → new_esEs8(zu311001, zu46001)
new_primMulNat0(Zero, Zero) → Zero
new_esEs21(zu311000, zu46000, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs26(zu311000, zu46000, app(app(ty_@2, bhe), bhf)) → new_esEs5(zu311000, zu46000, bhe, bhf)
new_esEs26(zu311000, zu46000, ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs21(zu311000, zu46000, app(app(ty_@2, fc), fd)) → new_esEs5(zu311000, zu46000, fc, fd)
new_esEs26(zu311000, zu46000, app(ty_Ratio, bge)) → new_esEs10(zu311000, zu46000, bge)
new_esEs28(zu31100, zu4600, app(ty_Ratio, gg)) → new_esEs10(zu31100, zu4600, gg)
new_esEs21(zu311000, zu46000, app(app(ty_Either, ef), eg)) → new_esEs15(zu311000, zu46000, ef, eg)
new_esEs6(zu311001, zu46001, app(ty_Ratio, be)) → new_esEs10(zu311001, zu46001, be)
new_esEs10(:%(zu311000, zu311001), :%(zu46000, zu46001), fh) → new_asAs(new_esEs23(zu311000, zu46000, fh), new_esEs22(zu311001, zu46001, fh))
new_esEs24(zu311002, zu46002, app(app(app(ty_@3, bef), beg), beh)) → new_esEs17(zu311002, zu46002, bef, beg, beh)
new_primPlusNat0(Zero, zu4600000) → Succ(zu4600000)
new_esEs5(@2(zu311000, zu311001), @2(zu46000, zu46001), bc, bd) → new_asAs(new_esEs7(zu311000, zu46000, bc), new_esEs6(zu311001, zu46001, bd))
new_esEs21(zu311000, zu46000, ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs7(zu311000, zu46000, app(app(ty_@2, dh), ea)) → new_esEs5(zu311000, zu46000, dh, ea)
new_esEs6(zu311001, zu46001, app(app(app(ty_@3, cb), cc), cd)) → new_esEs17(zu311001, zu46001, cb, cc, cd)
new_esEs24(zu311002, zu46002, ty_Ordering) → new_esEs19(zu311002, zu46002)
new_esEs24(zu311002, zu46002, ty_Integer) → new_esEs8(zu311002, zu46002)
new_esEs12(Just(zu311000), Just(zu46000), ty_Bool) → new_esEs11(zu311000, zu46000)
new_deleteBy1(zu3110, [], ba, bb) → []
new_esEs15(Left(zu311000), Left(zu46000), app(ty_Ratio, bbc), gc) → new_esEs10(zu311000, zu46000, bbc)
new_sr(Pos(zu3110000), Neg(zu460000)) → Neg(new_primMulNat0(zu3110000, zu460000))
new_sr(Neg(zu3110000), Pos(zu460000)) → Neg(new_primMulNat0(zu3110000, zu460000))
new_esEs28(zu31100, zu4600, app(app(ty_@2, hg), hh)) → new_esEs5(zu31100, zu4600, hg, hh)
new_esEs25(zu311001, zu46001, app(app(ty_Either, bff), bfg)) → new_esEs15(zu311001, zu46001, bff, bfg)
new_esEs15(Left(zu311000), Left(zu46000), ty_Int, gc) → new_esEs9(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), app(ty_[], bbe), gc) → new_esEs13(zu311000, zu46000, bbe)
new_esEs6(zu311001, zu46001, ty_Ordering) → new_esEs19(zu311001, zu46001)
new_esEs19(LT, GT) → False
new_esEs19(GT, LT) → False
new_esEs24(zu311002, zu46002, app(app(ty_@2, bfa), bfb)) → new_esEs5(zu311002, zu46002, bfa, bfb)
new_esEs12(Just(zu311000), Just(zu46000), app(app(ty_Either, bad), bae)) → new_esEs15(zu311000, zu46000, bad, bae)
new_esEs15(Left(zu311000), Left(zu46000), ty_Char, gc) → new_esEs18(zu311000, zu46000)
new_esEs6(zu311001, zu46001, ty_Bool) → new_esEs11(zu311001, zu46001)
new_esEs25(zu311001, zu46001, ty_Double) → new_esEs14(zu311001, zu46001)
new_esEs27(zu31100, zu4600, ty_Bool) → new_esEs11(zu31100, zu4600)
new_esEs28(zu31100, zu4600, ty_Double) → new_esEs14(zu31100, zu4600)
new_esEs15(Right(zu311000), Right(zu46000), gb, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), app(app(app(ty_@3, baf), bag), bah)) → new_esEs17(zu311000, zu46000, baf, bag, bah)
new_esEs28(zu31100, zu4600, ty_Ordering) → new_esEs19(zu31100, zu4600)
new_esEs27(zu31100, zu4600, ty_Double) → new_esEs14(zu31100, zu4600)
new_esEs21(zu311000, zu46000, app(ty_Ratio, ec)) → new_esEs10(zu311000, zu46000, ec)
new_esEs26(zu311000, zu46000, app(app(app(ty_@3, bhb), bhc), bhd)) → new_esEs17(zu311000, zu46000, bhb, bhc, bhd)
new_primEqNat0(Zero, Succ(zu460000)) → False
new_primEqNat0(Succ(zu3110000), Zero) → False
new_esEs21(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), app(app(ty_@2, bcc), bcd), gc) → new_esEs5(zu311000, zu46000, bcc, bcd)
new_esEs7(zu311000, zu46000, ty_Float) → new_esEs16(zu311000, zu46000)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs15(Right(zu311000), Right(zu46000), gb, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs19(GT, GT) → True
new_esEs20(@0, @0) → True
new_esEs14(Double(zu311000, zu311001), Double(zu46000, zu46001)) → new_esEs9(new_sr(zu311000, zu46000), new_sr(zu311001, zu46001))
new_esEs12(Just(zu311000), Just(zu46000), ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs22(zu311001, zu46001, ty_Int) → new_esEs9(zu311001, zu46001)
new_esEs27(zu31100, zu4600, app(app(ty_@2, bc), bd)) → new_esEs5(zu31100, zu4600, bc, bd)
new_esEs21(zu311000, zu46000, app(ty_Maybe, ed)) → new_esEs12(zu311000, zu46000, ed)
new_esEs24(zu311002, zu46002, ty_Int) → new_esEs9(zu311002, zu46002)
new_esEs27(zu31100, zu4600, app(ty_Ratio, fh)) → new_esEs10(zu31100, zu4600, fh)
new_esEs28(zu31100, zu4600, ty_@0) → new_esEs20(zu31100, zu4600)
new_esEs12(Just(zu311000), Just(zu46000), ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs15(Left(zu311000), Left(zu46000), ty_Ordering, gc) → new_esEs19(zu311000, zu46000)
new_esEs11(True, False) → False
new_esEs11(False, True) → False
new_esEs25(zu311001, zu46001, ty_Ordering) → new_esEs19(zu311001, zu46001)
new_esEs12(Just(zu311000), Just(zu46000), app(ty_[], bac)) → new_esEs13(zu311000, zu46000, bac)
new_esEs15(Right(zu311000), Right(zu46000), gb, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs27(zu31100, zu4600, app(app(app(ty_@3, gd), ge), gf)) → new_esEs17(zu31100, zu4600, gd, ge, gf)
new_esEs6(zu311001, zu46001, app(app(ty_@2, ce), cf)) → new_esEs5(zu311001, zu46001, ce, cf)
new_esEs27(zu31100, zu4600, ty_Int) → new_esEs9(zu31100, zu4600)
new_esEs19(LT, LT) → True
new_esEs15(Right(zu311000), Right(zu46000), gb, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs23(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs19(EQ, GT) → False
new_esEs19(GT, EQ) → False
new_esEs21(zu311000, zu46000, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs21(zu311000, zu46000, app(app(app(ty_@3, eh), fa), fb)) → new_esEs17(zu311000, zu46000, eh, fa, fb)
new_esEs26(zu311000, zu46000, ty_Bool) → new_esEs11(zu311000, zu46000)
new_esEs13(:(zu311000, zu311001), :(zu46000, zu46001), eb) → new_asAs(new_esEs21(zu311000, zu46000, eb), new_esEs13(zu311001, zu46001, eb))
new_deleteBy1(Left(zu31100), :(Left(zu4600), zu461), ba, bb) → new_deleteBy01(zu461, zu4600, zu31100, new_esEs27(zu31100, zu4600, ba), ba, bb)
new_sr(Neg(zu3110000), Neg(zu460000)) → Pos(new_primMulNat0(zu3110000, zu460000))
new_esEs28(zu31100, zu4600, ty_Bool) → new_esEs11(zu31100, zu4600)
new_esEs15(Left(zu311000), Left(zu46000), ty_Bool, gc) → new_esEs11(zu311000, zu46000)
new_deleteBy01(zu53, zu54, zu55, True, ff, fg) → zu53
new_esEs12(Just(zu311000), Nothing, ga) → False
new_esEs12(Nothing, Just(zu46000), ga) → False
new_sr(Pos(zu3110000), Pos(zu460000)) → Pos(new_primMulNat0(zu3110000, zu460000))
new_asAs(False, zu79) → False
new_esEs27(zu31100, zu4600, app(ty_Maybe, ga)) → new_esEs12(zu31100, zu4600, ga)
new_primEqNat0(Zero, Zero) → True
new_esEs6(zu311001, zu46001, app(ty_Maybe, bf)) → new_esEs12(zu311001, zu46001, bf)
new_esEs15(Right(zu311000), Right(zu46000), gb, app(app(app(ty_@3, bdb), bdc), bdd)) → new_esEs17(zu311000, zu46000, bdb, bdc, bdd)
new_esEs13([], :(zu46000, zu46001), eb) → False
new_esEs13(:(zu311000, zu311001), [], eb) → False
new_primMulNat0(Succ(zu31100000), Zero) → Zero
new_primMulNat0(Zero, Succ(zu4600000)) → Zero
new_esEs15(Right(zu311000), Right(zu46000), gb, ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs25(zu311001, zu46001, ty_Integer) → new_esEs8(zu311001, zu46001)
new_esEs15(Left(zu311000), Left(zu46000), app(ty_Maybe, bbd), gc) → new_esEs12(zu311000, zu46000, bbd)
new_esEs25(zu311001, zu46001, app(app(app(ty_@3, bfh), bga), bgb)) → new_esEs17(zu311001, zu46001, bfh, bga, bgb)
new_esEs23(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs15(Right(zu311000), Right(zu46000), gb, ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs12(Nothing, Nothing, ga) → True
new_esEs6(zu311001, zu46001, ty_Int) → new_esEs9(zu311001, zu46001)
new_esEs6(zu311001, zu46001, app(ty_[], bg)) → new_esEs13(zu311001, zu46001, bg)
new_esEs8(Integer(zu311000), Integer(zu46000)) → new_primEqInt(zu311000, zu46000)
new_esEs6(zu311001, zu46001, ty_Char) → new_esEs18(zu311001, zu46001)
new_esEs11(True, True) → True
new_esEs26(zu311000, zu46000, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs6(zu311001, zu46001, ty_Double) → new_esEs14(zu311001, zu46001)
new_esEs24(zu311002, zu46002, app(ty_Ratio, bea)) → new_esEs10(zu311002, zu46002, bea)
new_esEs27(zu31100, zu4600, ty_@0) → new_esEs20(zu31100, zu4600)
new_esEs15(Right(zu311000), Right(zu46000), gb, app(ty_[], bcg)) → new_esEs13(zu311000, zu46000, bcg)
new_esEs6(zu311001, zu46001, ty_Float) → new_esEs16(zu311001, zu46001)
new_primPlusNat0(Succ(zu800), zu4600000) → Succ(Succ(new_primPlusNat1(zu800, zu4600000)))
new_esEs7(zu311000, zu46000, ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs25(zu311001, zu46001, app(ty_[], bfe)) → new_esEs13(zu311001, zu46001, bfe)
new_esEs26(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs25(zu311001, zu46001, ty_Float) → new_esEs16(zu311001, zu46001)
new_esEs27(zu31100, zu4600, ty_Integer) → new_esEs8(zu31100, zu4600)
new_esEs21(zu311000, zu46000, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_esEs25(zu311001, zu46001, app(ty_Maybe, bfd)) → new_esEs12(zu311001, zu46001, bfd)
new_esEs15(Left(zu311000), Left(zu46000), ty_@0, gc) → new_esEs20(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs28(zu31100, zu4600, ty_Float) → new_esEs16(zu31100, zu4600)
new_primEqInt(Neg(Succ(zu3110000)), Neg(Succ(zu460000))) → new_primEqNat0(zu3110000, zu460000)
new_esEs6(zu311001, zu46001, app(app(ty_Either, bh), ca)) → new_esEs15(zu311001, zu46001, bh, ca)
new_esEs25(zu311001, zu46001, ty_Bool) → new_esEs11(zu311001, zu46001)
new_esEs26(zu311000, zu46000, app(ty_[], bgg)) → new_esEs13(zu311000, zu46000, bgg)
new_esEs19(EQ, EQ) → True
new_esEs24(zu311002, zu46002, app(ty_Maybe, beb)) → new_esEs12(zu311002, zu46002, beb)
new_primPlusNat1(Succ(zu8000), Zero) → Succ(zu8000)
new_primPlusNat1(Zero, Succ(zu46000000)) → Succ(zu46000000)
new_esEs25(zu311001, zu46001, app(ty_Ratio, bfc)) → new_esEs10(zu311001, zu46001, bfc)
new_esEs15(Right(zu311000), Right(zu46000), gb, app(app(ty_@2, bde), bdf)) → new_esEs5(zu311000, zu46000, bde, bdf)
new_esEs28(zu31100, zu4600, app(app(ty_Either, hb), hc)) → new_esEs15(zu31100, zu4600, hb, hc)
new_esEs28(zu31100, zu4600, app(app(app(ty_@3, hd), he), hf)) → new_esEs17(zu31100, zu4600, hd, he, hf)
new_esEs25(zu311001, zu46001, app(app(ty_@2, bgc), bgd)) → new_esEs5(zu311001, zu46001, bgc, bgd)
new_esEs15(Left(zu311000), Left(zu46000), ty_Float, gc) → new_esEs16(zu311000, zu46000)
new_esEs25(zu311001, zu46001, ty_Char) → new_esEs18(zu311001, zu46001)
new_esEs21(zu311000, zu46000, ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs7(zu311000, zu46000, app(ty_[], db)) → new_esEs13(zu311000, zu46000, db)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs7(zu311000, zu46000, ty_Int) → new_esEs9(zu311000, zu46000)
new_esEs28(zu31100, zu4600, ty_Int) → new_esEs9(zu31100, zu4600)
new_deleteBy02(zu62, zu63, zu64, True, bdg, bdh) → zu62
new_esEs7(zu311000, zu46000, app(app(ty_Either, dc), dd)) → new_esEs15(zu311000, zu46000, dc, dd)
new_primEqInt(Neg(Zero), Neg(Succ(zu460000))) → False
new_primEqInt(Neg(Succ(zu3110000)), Neg(Zero)) → False
new_esEs22(zu311001, zu46001, ty_Integer) → new_esEs8(zu311001, zu46001)
new_deleteBy02(zu62, zu63, zu64, False, bdg, bdh) → :(Right(zu63), new_deleteBy1(Right(zu64), zu62, bdg, bdh))
new_esEs15(Right(zu311000), Right(zu46000), gb, app(ty_Maybe, bcf)) → new_esEs12(zu311000, zu46000, bcf)
new_esEs26(zu311000, zu46000, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), app(ty_Maybe, bab)) → new_esEs12(zu311000, zu46000, bab)
new_deleteBy1(Left(zu31100), :(Right(zu4600), zu461), ba, bb) → :(Right(zu4600), new_deleteBy1(Left(zu31100), zu461, ba, bb))
new_esEs7(zu311000, zu46000, ty_Ordering) → new_esEs19(zu311000, zu46000)
new_primPlusNat1(Zero, Zero) → Zero
new_esEs7(zu311000, zu46000, ty_Char) → new_esEs18(zu311000, zu46000)
new_esEs24(zu311002, zu46002, ty_Float) → new_esEs16(zu311002, zu46002)
new_esEs7(zu311000, zu46000, ty_@0) → new_esEs20(zu311000, zu46000)
new_asAs(True, zu79) → zu79
new_esEs15(Left(zu311000), Left(zu46000), ty_Double, gc) → new_esEs14(zu311000, zu46000)
new_esEs24(zu311002, zu46002, app(app(ty_Either, bed), bee)) → new_esEs15(zu311002, zu46002, bed, bee)
new_esEs21(zu311000, zu46000, ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs27(zu31100, zu4600, ty_Float) → new_esEs16(zu31100, zu4600)
new_primMulNat0(Succ(zu31100000), Succ(zu4600000)) → new_primPlusNat0(new_primMulNat0(zu31100000, Succ(zu4600000)), zu4600000)
new_esEs27(zu31100, zu4600, app(ty_[], eb)) → new_esEs13(zu31100, zu4600, eb)
new_esEs19(LT, EQ) → False
new_esEs19(EQ, LT) → False
new_esEs28(zu31100, zu4600, app(ty_Maybe, gh)) → new_esEs12(zu31100, zu4600, gh)
new_esEs11(False, False) → True
new_esEs15(Right(zu311000), Right(zu46000), gb, ty_Int) → new_esEs9(zu311000, zu46000)
new_primEqInt(Pos(Succ(zu3110000)), Pos(Succ(zu460000))) → new_primEqNat0(zu3110000, zu460000)
new_esEs28(zu31100, zu4600, ty_Integer) → new_esEs8(zu31100, zu4600)
new_deleteBy1(Right(zu31100), :(Left(zu4600), zu461), ba, bb) → :(Left(zu4600), new_deleteBy1(Right(zu31100), zu461, ba, bb))
new_esEs12(Just(zu311000), Just(zu46000), ty_Double) → new_esEs14(zu311000, zu46000)
new_esEs25(zu311001, zu46001, ty_Int) → new_esEs9(zu311001, zu46001)
new_primEqNat0(Succ(zu3110000), Succ(zu460000)) → new_primEqNat0(zu3110000, zu460000)
new_esEs9(zu31100, zu4600) → new_primEqInt(zu31100, zu4600)
new_esEs27(zu31100, zu4600, ty_Char) → new_esEs18(zu31100, zu4600)
new_deleteBy01(zu53, zu54, zu55, False, ff, fg) → :(Left(zu54), new_deleteBy1(Left(zu55), zu53, ff, fg))
new_esEs26(zu311000, zu46000, ty_@0) → new_esEs20(zu311000, zu46000)
new_esEs28(zu31100, zu4600, ty_Char) → new_esEs18(zu31100, zu4600)
new_esEs25(zu311001, zu46001, ty_@0) → new_esEs20(zu311001, zu46001)
new_esEs24(zu311002, zu46002, ty_Bool) → new_esEs11(zu311002, zu46002)
new_esEs27(zu31100, zu4600, app(app(ty_Either, gb), gc)) → new_esEs15(zu31100, zu4600, gb, gc)
new_esEs21(zu311000, zu46000, ty_Float) → new_esEs16(zu311000, zu46000)
new_esEs12(Just(zu311000), Just(zu46000), ty_Integer) → new_esEs8(zu311000, zu46000)
new_esEs24(zu311002, zu46002, ty_Char) → new_esEs18(zu311002, zu46002)
new_primEqInt(Pos(Zero), Pos(Succ(zu460000))) → False
new_primEqInt(Pos(Succ(zu3110000)), Pos(Zero)) → False
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs26(zu311000, zu46000, app(app(ty_Either, bgh), bha)) → new_esEs15(zu311000, zu46000, bgh, bha)
new_esEs24(zu311002, zu46002, ty_@0) → new_esEs20(zu311002, zu46002)
new_esEs24(zu311002, zu46002, ty_Double) → new_esEs14(zu311002, zu46002)

The set Q consists of the following terms:

new_esEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs15(Left(x0), Left(x1), ty_Double, x2)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, ty_Int)
new_esEs13(:(x0, x1), :(x2, x3), x4)
new_esEs7(x0, x1, ty_Int)
new_esEs15(Left(x0), Left(x1), ty_Char, x2)
new_esEs15(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs12(Just(x0), Just(x1), ty_Integer)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(x0, x1, ty_@0)
new_esEs11(True, True)
new_esEs21(x0, x1, ty_Integer)
new_esEs21(x0, x1, ty_Bool)
new_esEs26(x0, x1, ty_Int)
new_esEs26(x0, x1, ty_@0)
new_deleteBy1(x0, [], x1, x2)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_esEs15(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs12(Just(x0), Just(x1), ty_Bool)
new_esEs10(:%(x0, x1), :%(x2, x3), x4)
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Double)
new_esEs7(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, ty_Ordering)
new_esEs27(x0, x1, ty_@0)
new_primPlusNat0(Succ(x0), x1)
new_esEs7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_deleteBy01(x0, x1, x2, False, x3, x4)
new_esEs15(Right(x0), Right(x1), x2, ty_@0)
new_asAs(False, x0)
new_esEs12(Nothing, Just(x0), x1)
new_esEs16(Float(x0, x1), Float(x2, x3))
new_esEs7(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_esEs7(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_@0)
new_esEs12(Just(x0), Just(x1), app(ty_[], x2))
new_esEs15(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs15(Right(x0), Right(x1), x2, ty_Bool)
new_esEs12(Just(x0), Nothing, x1)
new_esEs15(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs6(x0, x1, app(ty_Maybe, x2))
new_primPlusNat1(Succ(x0), Zero)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs6(x0, x1, ty_Double)
new_sr(Pos(x0), Pos(x1))
new_esEs12(Just(x0), Just(x1), ty_Int)
new_deleteBy02(x0, x1, x2, False, x3, x4)
new_esEs15(Left(x0), Left(x1), ty_Float, x2)
new_esEs7(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Double)
new_esEs15(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs11(False, True)
new_esEs11(True, False)
new_esEs13([], [], x0)
new_esEs7(x0, x1, ty_Char)
new_esEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs27(x0, x1, ty_Char)
new_esEs25(x0, x1, ty_Ordering)
new_esEs6(x0, x1, ty_Integer)
new_esEs6(x0, x1, ty_Ordering)
new_esEs26(x0, x1, ty_Bool)
new_esEs24(x0, x1, ty_@0)
new_esEs6(x0, x1, ty_Char)
new_deleteBy1(Left(x0), :(Right(x1), x2), x3, x4)
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_primEqNat0(Succ(x0), Succ(x1))
new_primMulNat0(Zero, Succ(x0))
new_esEs15(Right(x0), Right(x1), x2, ty_Char)
new_deleteBy1(Left(x0), :(Left(x1), x2), x3, x4)
new_esEs27(x0, x1, ty_Int)
new_esEs6(x0, x1, app(ty_[], x2))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs15(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_asAs(True, x0)
new_sr(Pos(x0), Neg(x1))
new_sr(Neg(x0), Pos(x1))
new_esEs27(x0, x1, ty_Bool)
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs21(x0, x1, ty_Float)
new_esEs27(x0, x1, ty_Integer)
new_esEs15(Left(x0), Left(x1), ty_Integer, x2)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs15(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_esEs15(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs12(Just(x0), Just(x1), ty_Double)
new_esEs28(x0, x1, ty_Double)
new_esEs5(@2(x0, x1), @2(x2, x3), x4, x5)
new_primMulNat0(Succ(x0), Succ(x1))
new_deleteBy1(Right(x0), :(Left(x1), x2), x3, x4)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs12(Nothing, Nothing, x0)
new_esEs15(Right(x0), Right(x1), x2, ty_Double)
new_esEs28(x0, x1, ty_Bool)
new_esEs13([], :(x0, x1), x2)
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_esEs15(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs23(x0, x1, ty_Integer)
new_deleteBy1(Right(x0), :(Right(x1), x2), x3, x4)
new_primEqNat0(Zero, Zero)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_sr(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs15(Left(x0), Left(x1), ty_Int, x2)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs28(x0, x1, ty_Char)
new_esEs28(x0, x1, ty_Integer)
new_esEs19(GT, GT)
new_esEs6(x0, x1, ty_@0)
new_esEs6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_esEs28(x0, x1, ty_@0)
new_esEs15(Right(x0), Right(x1), x2, ty_Integer)
new_esEs27(x0, x1, ty_Float)
new_esEs12(Just(x0), Just(x1), ty_Char)
new_esEs28(x0, x1, ty_Float)
new_primMulNat0(Zero, Zero)
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs19(EQ, EQ)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs6(x0, x1, ty_Bool)
new_deleteBy02(x0, x1, x2, True, x3, x4)
new_esEs6(x0, x1, ty_Int)
new_esEs24(x0, x1, ty_Bool)
new_esEs15(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_primEqNat0(Succ(x0), Zero)
new_esEs26(x0, x1, ty_Char)
new_esEs19(LT, EQ)
new_esEs19(EQ, LT)
new_esEs7(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs15(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs21(x0, x1, ty_Char)
new_esEs19(LT, GT)
new_esEs19(GT, LT)
new_esEs6(x0, x1, app(app(ty_Either, x2), x3))
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs19(LT, LT)
new_esEs21(x0, x1, ty_Int)
new_esEs24(x0, x1, ty_Char)
new_esEs19(GT, EQ)
new_esEs19(EQ, GT)
new_esEs26(x0, x1, ty_Double)
new_primMulNat0(Succ(x0), Zero)
new_esEs15(Right(x0), Right(x1), x2, ty_Float)
new_esEs21(x0, x1, ty_Ordering)
new_esEs15(Right(x0), Right(x1), x2, ty_Ordering)
new_primEqNat0(Zero, Succ(x0))
new_esEs12(Just(x0), Just(x1), ty_Ordering)
new_esEs9(x0, x1)
new_esEs24(x0, x1, app(ty_[], x2))
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(x0, x1, ty_Ordering)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_primPlusNat1(Succ(x0), Succ(x1))
new_esEs26(x0, x1, ty_Integer)
new_esEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs6(x0, x1, app(ty_Ratio, x2))
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs15(Left(x0), Right(x1), x2, x3)
new_esEs15(Right(x0), Left(x1), x2, x3)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs20(@0, @0)
new_esEs28(x0, x1, app(ty_[], x2))
new_esEs11(False, False)
new_esEs7(x0, x1, ty_Integer)
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs23(x0, x1, ty_Int)
new_esEs25(x0, x1, ty_Integer)
new_esEs26(x0, x1, ty_Float)
new_esEs15(Left(x0), Left(x1), ty_Bool, x2)
new_esEs13(:(x0, x1), [], x2)
new_esEs12(Just(x0), Just(x1), ty_Float)
new_esEs25(x0, x1, ty_Double)
new_esEs22(x0, x1, ty_Int)
new_esEs25(x0, x1, ty_@0)
new_deleteBy01(x0, x1, x2, True, x3, x4)
new_esEs15(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs26(x0, x1, ty_Ordering)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Float)
new_esEs8(Integer(x0), Integer(x1))
new_esEs24(x0, x1, ty_Integer)
new_primPlusNat1(Zero, Zero)
new_esEs15(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs25(x0, x1, ty_Int)
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, ty_Ordering)
new_esEs24(x0, x1, ty_Float)
new_esEs7(x0, x1, ty_Float)
new_esEs7(x0, x1, app(ty_Maybe, x2))
new_esEs22(x0, x1, ty_Integer)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Pos(Zero))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs18(Char(x0), Char(x1))
new_esEs25(x0, x1, ty_Char)
new_esEs15(Right(x0), Right(x1), x2, ty_Int)
new_primPlusNat0(Zero, x0)
new_esEs25(x0, x1, ty_Bool)
new_esEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs15(Left(x0), Left(x1), ty_@0, x2)
new_esEs6(x0, x1, ty_Float)
new_esEs24(x0, x1, ty_Double)
new_esEs14(Double(x0, x1), Double(x2, x3))
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs24(x0, x1, ty_Ordering)
new_esEs24(x0, x1, ty_Int)
new_esEs12(Just(x0), Just(x1), ty_@0)
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
QDP
                        ↳ QDPSizeChangeProof

Q DP problem:
The TRS P consists of the following rules:

new_psPs(:(zu3111111110, zu3111111111), zu43, ba, bb) → new_psPs(zu3111111111, zu43, ba, bb)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs: